这是脚本
$('#first').change(function(){
switch ($(this).val())
{
case '1st':
$('.1st').show();
$('.2nd').hide();
break;
case '2nd':
$('.1st').hide();
$('.2nd').show();
break;
case '3rd':
$('.3rd').hide();
$('.3rd').show();
break;
case 'none':
$('.1st').show();
$('.2nd').show();
break;
}
});
在第一次下拉列表中,All, Edit, Delete, Modify
被给出。我需要这样的..
如果我在第一个下拉列表中点击All
,则应在第二个下拉菜单中显示All,051,052,111,123,222,444,555,777,888,911,999
。
如果我在第一个下拉列表中点击Edit
,则会显示
第二次下拉列表中All,051,052,111,123,222,444,555,777,888,911,999
。
如果我在第一个下拉列表中点击Delete
,则只能显示
第二次下拉列表中All
。
如果我在第一个下拉列表中点击Modify
,则只能显示
第二次下拉列表中All
。
我在这里几乎没有疑问。
答案 0 :(得分:2)
试试这个:
$('#first').change(function(){
$('#second option').hide(); // hide all options
switch ($(this).val())
{
case '1st':
$('.1st').show();
break;
case '2nd':
$('.2nd').show();
break;
case '3rd':
$('.3rd').show();
break;
case 'none':
// show all options except for delete and modify
$('#second option').not('.3rd, .2nd').show();
break;
}
});
答案 1 :(得分:1)
<强> Demo 强>
在您的上下文中,您的第一个下拉值,第二个下拉类彼此之间具有关系。所以使用this.value
来获取所选元素
$('#first').change(function () {
if (this.value == "none") {
$("#second option").not(".2nd,.3rd").show();
} else {
$("#second option").hide();
$("." + this.value).show();
}
});
答案 2 :(得分:0)
双向:
您需要4秒钟选择,在您更改第一个下拉菜单时显示其中一个。
使用js模板生成第二个下拉动态。
您无法直接在Chrome中显示或隐藏<option>
。