jQuery中Chosen三級聯(lián)動功能實例代碼
Chosen 是一個JavaScript插件,它能讓丑陋的、很長的select選擇框變的更好看、更方便,不僅如此,它更擴大了,增長了主動篩選的功能。
本文介紹Chosen聯(lián)動,具體代碼如下:
var addressResolve = function (options) { //檢測用戶傳進來的參數(shù)是否合法 if (!isValid(options)) return this; //默認參數(shù) var defaluts = { proId: 'divProv', cityId: 'divCity', areaId: 'divArea' }; var opts = $j.extend({}, defaluts, options);//使用jQuery.extend 覆蓋插件默認參數(shù) var addressInfo = this; this.provInfo = $j("#" + opts.proId);//省份select對象 this.cityInfo = $j("#" + opts.cityId);//城市select對象 this.areaInfo = $j("#" + opts.areaId);//區(qū)縣select對象 /*省份初始化方法*/ this.provInfoInit = function () { var proOpts = ""; $j.each(provinceJson, function (index, item) { proOpts += "<option value='" + item.ProID + "'>" + item.name + "</option>"; }); addressInfo.provInfo.append(proOpts); addressInfo.provInfo.chosen(); //初始化chosen addressInfo.cityInfo.chosen();//初始化chosen addressInfo.areaInfo.chosen();//初始化chosen }; /*城市選擇綁定方法*/ this.selectCity = function () { addressInfo.cityInfo.empty(); addressInfo.cityInfo.append("<option value=選擇城市>選擇城市</option>"); addressInfo.areaInfo.empty(); addressInfo.areaInfo.append("<option value=選擇區(qū)縣>選擇區(qū)縣</option>"); if (addressInfo.provInfo.val() == "選擇省份") { //選擇無效時直接返回 addressInfo.cityInfo.trigger("liszt:updated"); addressInfo.areaInfo.trigger("liszt:updated"); return; } var provId = addressInfo.provInfo.val();//獲取選擇的省份值 var cityOpts = ""; $j.each(cityJson, function (index, item) { if (item.ProID == provId) { cityOpts += "<option value='" + item.CityID + "'>" + item.name + "</option>"; } }); addressInfo.cityInfo.append(cityOpts); addressInfo.cityInfo.trigger("liszt:updated"); addressInfo.areaInfo.trigger("liszt:updated"); }; /*區(qū)縣選擇綁定方法*/ this.selectArea = function () { if (addressInfo.cityInfo.val() == "選擇城市") return; addressInfo.areaInfo.empty(); addressInfo.areaInfo.append("<option value=選擇區(qū)縣>選擇區(qū)縣</option>"); var cityId = addressInfo.cityInfo.val();//獲取選擇的城市值 var areaOpts = ""; $j.each(areaJson, function (index, item) { if (item.CityID == cityId) { areaOpts += "<option value='" + item.Id + "'>" + item.DisName + "</option>"; } }); addressInfo.areaInfo.append(areaOpts); addressInfo.areaInfo.trigger("liszt:updated"); }; /*對象初始化方法*/ this.init = function () { addressInfo.provInfo.append("<option value=選擇省份>選擇省份</option>"); addressInfo.cityInfo.append("<option value=選擇城市>選擇城市</option>"); addressInfo.areaInfo.append("<option value=選擇區(qū)縣>選擇區(qū)縣</option>"); addressInfo.provInfoInit(); addressInfo.provInfo.bind("change", addressInfo.selectCity); addressInfo.cityInfo.bind("change", addressInfo.selectArea); } //私有方法,檢測參數(shù)是否合法 function isValid(options) { return !options || (options && typeof options === "object") ? true : false; } }
以上所述是小編給大家介紹的jQuery中Chosen三級聯(lián)動實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
判斷多個input type=file是否有已經(jīng)選擇好文件的代碼
在each中使用return false退出循環(huán),使用return true結(jié)束當(dāng)前次循環(huán),進行下一次循環(huán)2012-05-05jquery實現(xiàn)簡單的swiper輪播預(yù)覽原圖
這篇文章主要為大家詳細介紹了jquery實現(xiàn)簡單的swiper輪播預(yù)覽原圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02jQuery構(gòu)造函數(shù)init參數(shù)分析續(xù)
其實樓主的F和jQuery.fn.init是相等的; 實現(xiàn)功能是和jq一樣的, 只是jq的把構(gòu)造函數(shù)放進原型;如果非要說原因,個人理解jq這樣寫整體結(jié)構(gòu)清晰,先是入口構(gòu)造函數(shù),緊跟著是原型部分(原型里面init是初始化),但是不好理解;乍一看確實挺繞, 我也是看了好久才明白怎么回事2015-05-05jquery+html5時鐘特效代碼分享(可設(shè)置鬧鐘并且語音提醒)
這篇文章主要為大家詳細介紹了Jquery+html5可設(shè)置鬧鐘并且會語音提醒的時鐘特效,功能實現(xiàn)非常簡單,推薦給大家,有需要的小伙伴可以參考下2015-08-08jQuery模擬下拉框選擇對應(yīng)菜單的內(nèi)容
這篇文章主要介紹了jQuery模擬下拉框選擇對應(yīng)菜單的內(nèi)容,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03jQuery Mobile和HTML5開發(fā)App推廣注冊頁
jQuery Mobile和HTML5的組合可以直接開發(fā)web版的app,下面通過本教程給大家分享jQuery Mobile和HTML5開發(fā)App推廣注冊頁的實例代碼,感興趣的朋友參考下吧2016-11-11