html5 级联下拉列表,JQuery实现级联下拉框效果实例讲解

用JQuery和select来实现汽车厂商和汽车类型的联动,参考过程如下

效果图:

0458e53397b2f774c64fcd1fbf411226.png

逻辑分析图:

5d973a72d51642e7225a390a1f86f8c1.png

html代码:

级联下拉框效果

汽车厂商:

请选择汽车厂商

宝马

奥迪

大众

有数据

汽车类型:

css代码:

.car {

text-align:center;

}

.cartype{

display:none;

}

js代码:

$(document).ready(function(){

//找到下拉框

var carnameSelect = $(".carname").children("select");

var cartypeSelect = $(".cartype").children("select");

//给下拉框注册事件

carnameSelect.change(function(){

var carnameValue = $(this).val();

if( carnameValue != ""){

//carnameValue不为空的情况接着判断

if(!carnameSelect.data(carnameValue)){

//不在缓冲区中,需要向服务器请求

$.post("ChainSelect",{keyword:carnameValue,type:"top"},function(data){

if (data.length != 0){

//返回的数据不为空

cartypeSelect.html("");

$("请选择汽车类型").appendTo(cartypeSelect);

for(var i = 0;i < data.length; i++ ){

$(" "+ data[i] +"").appendTo(cartypeSelect);

}

cartypeSelect.parent().show();

carnameSelect.next().show();

}else{

//返回的数据为空

cartypeSelect.parent().hide();

carnameSelect.next().hide();

}

carnameSelect.data(carnameValue,data);

},"json");

}else{

//在缓冲区中

var data = carnameSelect.data(carnameValue);

if (data.length != 0){

//返回的数据不为空

cartypeSelect.html("");

$("请选择汽车类型").appendTo(cartypeSelect);

for(var i = 0;i < data.length; i++ ){

$(" "+ data[i] +"").appendTo(cartypeSelect);

}

cartypeSelect.parent().show();

carnameSelect.next().show();

}else{

//返回的数据为空

cartypeSelect.parent().hide();

carnameSelect.next().hide();

}

}

}else{

//carnameValue为空的情况,隐藏第二个下拉框

cartypeSelect.parent().hide();

carnameSelect.next().hide();

}

});

});

以上就是利用JQuery和select实现级联下拉框的小例子,希望对大家的学习有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值