用jquery实现三级下拉菜单联动时,菜单三无法显示。

JS部分Code:<scripttype="text/javascript"src="http://www.hchouse.net/js/jquery-1.4.2.min... JS部分Code: <script type="text/javascript" src=" http://www.hchouse.net/js/jquery-1.4.2.min.js"></script><script type="text/javascript">$(document).ready(function(){ $("#sbox").append($("<select id='pard1'></select>")); $("<option value=''>请选择</option>").appendTo($("#pard1")); $.grep(class_array,function(v){ if(v[2]==0) $("<option value='"+v[0]+"'>"+v[1]+"</option>").appendTo($("#pard1")); }); $("#pard1").change(function(){ if($("#pard2").length>0) $("#sbox select[id=pard2]").remove(); $("#sbox").append($("<select id='pard2'></select>")); $("<option value=''>请选择</option>").appendTo($("#pard2")); $.grep(class_array,function(v){ //alert($("#pard1").val()); if(v[2]==$("#pard1").val()) $("<option value='"+v[0]+"'>"+v[1]+"</option>").appendTo($("#pard2")); }); //alert($("#sbox").children().eq(1).attr("id")); }); var dstate=false; $("#pard2").change(function(){ //alert("22"); if($("#pard3").length>0) $("#sbox select[id=pard3]").remove(); dstate=false; $.grep(class_array,function(v){ //alert($("#pard1").val()); if(v[2]==$("#pard2").val()){ //alert($("#pard2").val()); if(dstate==false){ $("#sbox").append($("<select id='pard3'></select>")); $("<option value=''>请选择</option>").appendTo($("#pard3")); dstate=true; } $("<option value='"+v[0]+"'>"+v[1]+"</option>").appendTo($("#pard3")); } }); }); }); </script> HTML部分Code:<html><head><title>诡异的三级联动</title></head><div id="sbox"></div></html> 展开
 我来答
腾山丑听云
2020-05-07 · TA获得超过3803个赞
知道大有可为答主
回答量:3152
采纳率:29%
帮助的人:155万
展开全部
class_array是一个二维数组,看你代码的意思。。当第1个下拉菜单
触发change事件时,即

if(v[2]==$("#pard1").val())
$("<option
value='"+v[0]+"'>"+v[1]+"</option>").appendTo($("#pard2"));
这是表示传入的数组v的第三个元素等于第1个下拉菜单的值时,才会将第2个下拉菜单填充。
我看v数组的第三个元素的值有0,1,14,但是又要与第1个下拉菜单的值相等的唯有class_array[0]=new
Array('1','护肤','0');所以,在第1个下拉菜单选择'护肤'才会对第二个下拉菜单有联动效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式