Ajax區域性重新整理 用「省」動態的選擇「市」

2021-08-22 00:27:17 字數 1501 閱讀 2336

在前端我們經常會使用到這樣一種情況,選擇乙個省,然後再選擇這個省底下的某個市,類似於這樣的先選擇乙個範圍,然後再在這個範圍內再次精確的選擇。這裡一般使用非同步重新整理,也就是頁面的區域性重新整理而不是整個頁面重新整理,因此需要使用到ajax技術。下來我以修改個人資訊的時候選擇省和市為例,說一說我是如何做的(不對的地方,希望您指正):

首先開啟修改資訊頁面(edit.jsp)時,後台將省的集合province(list集合)放在request中,前台使用el表示式迴圈輸出,形成下拉選擇框。如下**所示:

80px;"name="province" id="province" οnclick="empty()">省

"$" var="province">

"$" name="province">$

100px;" name="city" id="city1">

"city2">市

正如所看到的,一般情況下,都是使用select選擇框,下面的具體選擇則是select內部的option,因此將集合在option這裡使用el表示式迴圈集合,實現後台查詢,前台顯示。

上面只是第一步,選擇」省」,這一步是隨著頁面的開啟進行的,並無難度,上面提到的非同步重新整理是針對市來說的,也就是選擇乙個省,然後將省的資訊提交到後台,後台呼叫資料庫查詢該省下面的所有市的集合city(list集合),返回給前台,然後前台遍歷顯示。

這裡需要用到ajax**,如下所示:

$(document)    .ready(

function() ,

success : function(tip)

}});

});});

function empty()     

沒錯,是在ajax**中進行「市」的迴圈遍歷輸出,方法是先獲得「市」所在的select物件obj,然後使用迴圈宣告新的option物件,其有兩個引數,(txt,value),將市的集合的某乙個值賦給這個新的option,然後使用obj.options.add(option),將這個新的option新增入市的select物件,這樣就實現了前台選擇省,市隨著動態顯示的目的了。

此外,後面的empty()函式,是為了每次重新選擇省時讓上市下面的內容清空,以便於新的市顯示。上面**我寫的是每選擇乙個省(由於頁面沒有重新整理,因此edit.jsp載入的時候傳遞過來的省的集合一直有效,因此可以選擇不同的省)時就呼叫這個empty()方法,以用來清空市select下面的內容。

以上是前段**,下面我們來看後端**,這裡只說將省傳遞到後台然後後台查詢資料庫將「市」集合再傳遞給前台的這部分**。

//拿到前台傳遞來的省的資訊

string province = request.getparameter("province");

if(!province.equals("省"))

system.out.println(jsonarray);

trycatch(ioexception e)

}

Ajax區域性重新整理和全域性重新整理的區別

在非完全前後端分離專案中,前端開發只需要完成頁面的製作,並且把一些基礎的人機互動效果使用js完成即可,頁面中需要動態呈現內容的部分,都是交給後台開發工程師做資料繫結和基於伺服器進行渲染的 伺服器端渲染 優勢 1 動態展示的資料在頁面的原 中可以看見,有利於seo優化推廣 有利於搜尋引擎的收錄和抓取 ...

JQuery的Ajax請求實現區域性重新整理 小案例

請求的ajax路徑傳遞的引數 data 會到action中被乙個同樣名字的變數 附帶set get方法 接收,返回的data是乙個jquery的陣列物件,在被呼叫的action中涉及到的資料變數會物件,都會封裝到data中最終返回給頁面。案例 如圖,我要實現狀態的更改,用jquery的ajax更改完...

JQuery的Ajax請求實現區域性重新整理 小案例

請求的ajax路徑傳遞的引數 data 會到action中被乙個同樣名字的變數 附帶set get方法 接收,返回的data是乙個jquery的陣列物件,在被呼叫的action中涉及到的資料變數會物件,都會封裝到data中最終返回給頁面。案例 如圖,我要實現狀態的更改,用jquery的ajax更改完...