jQuery中Chosen三級(jí)聯(lián)動(dòng)功能實(shí)例代碼
Chosen 是一個(gè)JavaScript插件,它能讓丑陋的、很長的select選擇框變的更好看、更方便,不僅如此,它更擴(kuò)大了,增長了主動(dòng)篩選的功能。
本文介紹Chosen聯(lián)動(dòng),具體代碼如下:
var addressResolve = function (options) {
//檢測用戶傳進(jìn)來的參數(shù)是否合法
if (!isValid(options))
return this;
//默認(rèn)參數(shù)
var defaluts = {
proId: 'divProv',
cityId: 'divCity',
areaId: 'divArea'
};
var opts = $j.extend({}, defaluts, options);//使用jQuery.extend 覆蓋插件默認(rèn)參數(shù)
var addressInfo = this;
this.provInfo = $j("#" + opts.proId);//省份select對(duì)象
this.cityInfo = $j("#" + opts.cityId);//城市select對(duì)象
this.areaInfo = $j("#" + opts.areaId);//區(qū)縣select對(duì)象
/*省份初始化方法*/
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() == "選擇省份") { //選擇無效時(shí)直接返回
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");
};
/*對(duì)象初始化方法*/
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三級(jí)聯(lián)動(dòng)實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JQuery 使用attr方法實(shí)現(xiàn)下拉列表選中
實(shí)現(xiàn)下拉列表選中的方法有很多,這篇文章主要介紹了JQuery 使用attr方法的具體實(shí)現(xiàn),需要的朋友可以收藏下2014-10-10
Jquery 插件學(xué)習(xí)實(shí)例1 插件制作說明與tableUI優(yōu)化
Jquery 插件學(xué)習(xí)實(shí)例1 插件制作說明與tableUI優(yōu)化,需要的朋友可以參考下。2010-04-04
jQuery 選擇表格(table)里的行和列及改變簡單樣式
本文只是介紹如何用jQuery語句對(duì)表格中行和列進(jìn)行選擇以及一些簡單樣式改變,希望它可以對(duì)jQuery表格處理的深層學(xué)習(xí)提供一些幫助2012-12-12

