最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于jquery實(shí)現(xiàn)的省市區(qū)級(jí)聯(lián)無ajax

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

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

以下是代碼頁面

復(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">請(qǐng)選擇</option>
</select>

<select rel="county" rel="template" name="county">
<option value="-1">請(qǐng)選擇</option>
</select>
</span>

以下是js代碼

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

$("select[rel='province']").change(dochangeSelect);
$("select[rel='city']").change(dochangeSelect);
setDefault();
});
function setDefault(){
$("[rel='con_address']").each(function(index){
//設(shè)置省的默認(rèn)參數(shù)
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 ;
}
//獲取下一級(jí) 所有的地區(qū)
var childrens = hashMap.Get(thisName);
//找到下一個(gè)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");
}

//將地名和數(shù)據(jù)庫id做成鍵值對(duì),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]);
}
}

相關(guān)文章

  • JavaScript正則表達(dá)式中g(shù)標(biāo)志詳解

    JavaScript正則表達(dá)式中g(shù)標(biāo)志詳解

    正則的思想都是一樣的,但是具體的寫法會(huì)有所不同,下面這篇文章主要給大家介紹了關(guān)于JavaScript正則表達(dá)式中g(shù)標(biāo)志的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • javascript操作ul中l(wèi)i的方法

    javascript操作ul中l(wèi)i的方法

    這篇文章主要介紹了javascript操作ul中l(wèi)i的方法,可實(shí)現(xiàn)鼠標(biāo)經(jīng)過li標(biāo)簽項(xiàng)對(duì)應(yīng)改變背景色的功能,涉及javascript鼠標(biāo)事件及頁面元素屬性的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • JS中的函數(shù)與對(duì)象的創(chuàng)建方式

    JS中的函數(shù)與對(duì)象的創(chuàng)建方式

    這篇文章主要介紹了JS中的函數(shù)與對(duì)象的創(chuàng)建方式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • JS組件Bootstrap Table布局詳解

    JS組件Bootstrap Table布局詳解

    這篇文章主要為大家詳細(xì)介紹了JS組件Bootstrap Table布局,用戶體驗(yàn)比較好,更好兼容各種客戶端,需要了解更多bootstrap table的朋友可以參考下
    2016-05-05
  • 原生js實(shí)現(xiàn)瀑布流布局

    原生js實(shí)現(xiàn)瀑布流布局

    這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)瀑布流布局的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 學(xué)習(xí)JavaScript設(shè)計(jì)模式之享元模式

    學(xué)習(xí)JavaScript設(shè)計(jì)模式之享元模式

    這篇文章主要為大家介紹了JavaScript設(shè)計(jì)模式中的享元模式,對(duì)JavaScript設(shè)計(jì)模式感興趣的小伙伴們可以參考一下
    2016-01-01
  • JS阻止事件冒泡的方法詳解

    JS阻止事件冒泡的方法詳解

    在本篇文章里小編給大家整理的是關(guān)于JS如何阻止事件冒泡的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • webpack代碼分片的實(shí)現(xiàn)

    webpack代碼分片的實(shí)現(xiàn)

    代碼分片是webpck打包工具所特有的一項(xiàng)技術(shù),通過這項(xiàng)功能可以把代碼按照特定的形式進(jìn)行拆分,使用戶不必一次全部加載,而是按需加載。本文就來詳細(xì)介紹,感興趣的可以了解一下
    2021-07-07
  • JavaScript里四舍五入函數(shù)round用法實(shí)例

    JavaScript里四舍五入函數(shù)round用法實(shí)例

    這篇文章主要介紹了JavaScript里四舍五入函數(shù)round用法,實(shí)例分析了round函數(shù)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • three.js引入glsl文件并高亮顯示代碼的完整步驟

    three.js引入glsl文件并高亮顯示代碼的完整步驟

    這篇文章主要給大家介紹了關(guān)于three.js引入glsl文件并高亮顯示代碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03

最新評(píng)論

响水县| 乌兰察布市| 蓬莱市| 儋州市| 体育| 伊川县| 东莞市| 通河县| 沅江市| 府谷县| 彭泽县| 彝良县| 托里县| 杭州市| 潮安县| 普洱| 江源县| 通榆县| 惠州市| 沙坪坝区| 汶上县| 南靖县| 定南县| 桓台县| 萝北县| 牡丹江市| 宁化县| 呼伦贝尔市| 古交市| 措勤县| 筠连县| 奉节县| 壶关县| 安顺市| 将乐县| 定日县| 荆州市| 千阳县| 时尚| 临安市| 泉州市|