jquery實現四級級聯下拉選單
開發環境
- jdk 1.7 tomcat7
- jquery-1.10
- 資料結構為單表通過parentid架構資料子父級關係
實現過程
- 通過ajax非同步獲取下拉選單的資料
intiSelect: function(parentCode){
var result;
$.ajax({
url: _path,
data: {"parentCode": parentCode},
type: "post",
dataType: "json",
async: false,
success: function (data) {
result = data.myarray;
}, error: function (data) {
//console.log(data);
}
});
return result;
}
- 將資料整合後顯示在對應的下拉選單中;並新增change事件,實現級聯效果
eventBind: function () {
var that = this;
//第一個下拉選單的父id為約定好的值
var data = that.intiSelect('0');
//console.log(data);//列印通過intiSelect方法獲取的資料
var tempHtml = "<option value=\"\">請選擇</option>";
if(data != null && data != ""){
for (var i = 0; i < data.length; i++) {
tempHtml += "<option value=\""+data[i].dropDownCode+"\">"+data[i].dropDownName+"</option>";
}
}
//為第一個下拉選單新增html元素
$("select[name='one']").html(tempHtml);
//新增select的change事件
$("select[name='one']").unbind('change').change(function (){
//觸發第二個下拉選單的change事件,達到級聯的效果
that.secondChange($("select[name='one']").val(),'two','three','four');
});
});
},
secondChange: function(parentCode,name,sonName,sunzi){
var that = this;
$("select[name='"+name+"']").unbind('change').change(function (){
//console.log("threeChange");
that.threeChange($("select[name='"+name+"']").val(),sonName,sunzi);
});
if("" == parentCode){
//清空
$("select[name='"+name+"']").html("");
}else{
var data = this.intiSelect(parentCode);
var tempHtml = "<option value=\"\">請選擇</option>";
if(data != null && data != ""){
for (var i = 0; i < data.length; i++) {
tempHtml += "<option value=\""+data[i].dropDownCode+"\">"+data[i].dropDownName+"</option>";
}
}
$("select[name='"+name+"']").html(tempHtml);
}
}
總結
整體的思路就是通過第一個下拉選單的change事件觸發下一個下拉選單的change事件,直至最後一個下拉選單;除了最後一個和第一個下拉選單,其他下拉選單的處理可以抽成公共方法;
相關文章
- JS實現級聯下拉選單JS
- jQuery 二級下拉選單jQuery
- jQuery + jQuery Mobile 實現省市二級下拉選單頁面jQuery
- android 之 Spinner 下拉選單實現級聯Android
- jquery實現的點選二級下拉導航選單jQuery
- 淘寶頁面實現(包括級聯選單,下拉選單,框架)框架
- select下拉選單實現分類級聯效果
- jQuery結合PHP+MySQL實現二級聯動下拉選單[例項]jQueryPHPMySql
- jQuery與CSS二級下拉選單jQueryCSS
- select下拉選單二級聯動
- css實現的二級下拉選單效果CSS
- jquery二級下拉導航選單詳解jQuery
- jquery 實現層級下拉框聯動效果 程式碼jQuery
- javascript實現的三級下拉導航選單JavaScript
- jQuery 緩衝效果二級導航下拉選單jQuery
- Android實現三級聯動下拉框 下拉選單spinner的例項程式碼Android
- select下拉選單多級級聯效果程式碼例項
- 出生日期三級聯動下拉選單
- CSS 二級下拉選單CSS
- CSS二級下拉選單CSS
- jQuery 省市級聯選單程式碼例項jQuery
- Asp.net+Xml+js實現無線級下拉選單ASP.NETXMLJS
- js物件導向封裝級聯下拉選單列表JS物件封裝
- select下拉選單級聯效果例項程式碼
- select級聯下拉選單程式碼例項分析
- 純CSS二級下拉導航選單實CSS
- 實現基於json的級聯選單JSON
- jquery select選中表單特效三級聯動jQuery特效
- JQuery實現絢麗的橫向下拉選單jQuery
- jq+php+mysql 實現二級選單聯動PHPMySql
- JavaScript二級下拉選單詳解JavaScript
- 純CSS實現的二級下拉選單效果程式碼例項CSS
- jQuery解析json格式資料生成級聯選單jQueryJSON
- jquery-滑鼠經過導航條,顯示二級下拉選單jQuery
- HTML+CSS+JQuery實現下拉選單滑鼠懸浮顯示下拉選單,取消隱藏HTMLCSSjQuery
- C#實現的下拉多選框,下拉多選樹,多級節點C#
- Vue 資料雙向繫結實現二級下拉懸浮選單Vue
- 實現單擊一級選單顯示或隱藏二級選單