欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于jquery實現的省市區(qū)級聯無ajax

 更新時間:2013年09月24日 09:24:44   投稿:whsnow  
省市區(qū)級聯的實現方法有很多,在本文為大家介紹下如何使用jquery無ajax來實現,感興趣的朋友可以參考下,希望對大家有所幫助

希望和大家一起學習,更希望能找一份好工作,我是PHP開發(fā)工程師

以下是代碼頁面

復制代碼 代碼如下:

<span rel="con_address" class="con_address">
#foreach($data in $conAddressBean.provinceCode)
<input type="hidden" rel="province" value="$data"/>
#end
#foreach($data in $conAddressBean.cityCode)
<input type="hidden" rel="city" value="$data"/>
#end
#foreach($data in $conAddressBean.countyCode)
<input type="hidden" rel="county" value="$data"/>
#end
<input id="dataCache" type="hidden"/>

<select rel="city" name="city">
<option value="-1" rel="template">請選擇</option>
</select>

<select rel="county" rel="template" name="county">
<option value="-1">請選擇</option>
</select>
</span>

以下是js代碼

其中有專門保存數據的字符串
[code]
// JavaScript Document
$(document).ready(function(){
// 設置數據緩存 使用HashMap方式
cacheData(cityCountyStr);
cacheData(provinceCityStr);

$("select[rel='province']").change(dochangeSelect);
$("select[rel='city']").change(dochangeSelect);
setDefault();
});
function setDefault(){
$("[rel='con_address']").each(function(index){
//設置省的默認參數
var currentProValue = getCurrentValue("province",index);
setValue($(this),"province",index,currentProValue);

var currentCity = getCurrentValue("city",index);
doLoadSelect($(this).find("select[rel='province']"),currentCity);

var currentCounty = getCurrentValue("county",index);
doLoadSelect($(this).find("select[rel='city']"),currentCounty);
});
}
function getCurrentValue(relName,index){
return $("[rel='con_address']").eq(0).find("[rel='"+relName+"']:hidden").eq(index).attr("value");
}
function setValue(parsent,name,index,currentValue){
$(parsent).find("select[rel='"+name+"'] > option").each(function(){
if($(this).attr("value")==currentValue){
$(this).attr("selected","selected");
return false;
}
})
}

function doLoadSelect(obj,nexeDetaultValue){
var thisName = $(obj).find("option:selected").text();
var thisValue = $(obj).find("option:selected").attr("value");
//alert("thisName="+thisName+" thisValue="+thisValue);
$(obj).nextAll().each(function(){
$(this).find("option").eq(0).nextAll().remove();
});
if(thisValue=='-1'){
return ;
}
//獲取下一級 所有的地區(qū)
var childrens = hashMap.Get(thisName);
//找到下一個select集合,按照省市區(qū) 排名的
var objThisSelect = $(obj).next().eq(0);
var template = $(objThisSelect).find("option").eq(0);
$(template).removeAttr("selected");
var childrensAttr = childrens.split(",");
var keyVal = "";
for(var i=0;i<childrensAttr.length;i++){
keyVal = childrensAttr[i].split(":");
var result = $(template).clone(true);
$(result).html(keyVal[0]);
$(result).attr("value",keyVal[1]);
if(nexeDetaultValue==keyVal[1]){
$(result).attr("selected","selected");
}
$(objThisSelect).append(result);
}
}
function dochangeSelect(){
doLoadSelect(this,"-1");
}

//將地名和數據庫id做成鍵值對,cache到HashMap中
function cacheData(datas){
var splitArr = datas.split("&");
var temp = "";
var tempArr;
for(var i=0;i<splitArr.length;i++){
temp = splitArr[i];
tempArr = temp.split("=");
hashMap.Set(tempArr[0],tempArr[1]);
}
}

相關文章

  • JavaScript函數重載操作實例淺析

    JavaScript函數重載操作實例淺析

    這篇文章主要介紹了JavaScript函數重載操作,結合一次面試經歷分析了JavaScript函數重載相關原理、用法及操作注意事項,需要的朋友可以參考下
    2020-05-05
  • JavaScript實現擦玻璃效果分析鼠標移動響應時間粒度問題

    JavaScript實現擦玻璃效果分析鼠標移動響應時間粒度問題

    這篇文章主要為大家介紹了JavaScript實現擦玻璃效果分析鼠標移動響應時間粒度問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • js在HTML的三種引用方式詳解

    js在HTML的三種引用方式詳解

    這篇文章主要介紹了js在HTML的三種引用方式詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • setTimeout()遞歸調用不加引號出錯的解決方法

    setTimeout()遞歸調用不加引號出錯的解決方法

    用了setTimeout()想實現遞歸調用,如果第一個參數不加引號的話,就會出錯,下面與大家分享下該如何解決
    2014-09-09
  • JavaScript中調用函數的4種方式代碼實例

    JavaScript中調用函數的4種方式代碼實例

    這篇文章主要介紹了JavaScript中調用函數的4種方式代碼實例,本文分別給出方法調用模式、函數調用模式、構造器調用模式、apply調用模式4種方式的代碼實例,需要的朋友可以參考下
    2015-07-07
  • 原生JS寫Ajax的請求函數功能

    原生JS寫Ajax的請求函數功能

    本文給大家分享一個自己寫的基于原生JS寫Ajax的請求函數功能,需要的朋友可以參考下
    2017-12-12
  • In Javascript Class, how to call the prototype method.(three method)

    In Javascript Class, how to call the prototype method.(three

    In Javascript Class, how to call the prototype method.(three method)...
    2007-01-01
  • JavaScript中創(chuàng)建原子的方法總結

    JavaScript中創(chuàng)建原子的方法總結

    這篇文章主要給大家總結介紹了關于JavaScript中創(chuàng)建原子的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • js實現彈窗猜數字游戲

    js實現彈窗猜數字游戲

    這篇文章主要為大家詳細介紹了js實現彈窗猜數字游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • js判斷IE瀏覽器版本過低示例代碼

    js判斷IE瀏覽器版本過低示例代碼

    弄了個很簡單的例子判斷IE瀏覽器版本是否過低,注意在IE6和IE7版本較低情況下下才看到它的提示效果,需要的朋友可以收藏下
    2013-11-11

最新評論