好的,所以我有一些jQuery代码,如果选择了下拉菜单中带有前缀Blue
的项目,则会显示一个输入框。
代码:
$(function() {
$('#text1').hide();
$('#select2').on('change', function(event) {
var opt = this.options[ this.selectedIndex ];
var picked_blue = $(opt).text().match(/Blue/i);
if(picked_blue) {
$('#text1').show();
} else {
$('#text1').hide();
}
});
});
但我还需要添加的是,如果选择了下拉菜单中的任何其他项目,则显示其他内容。而我需要显示的是项目的另一个下拉菜单。
答案 0 :(得分:6)
这不适合你:
if(picked_blue) {
$('#text1').show();
$('#text2').hide();
} else {
$('#text1').hide();
$('#text2').show();
}
其中text1
和text2
分享DOM中的位置,分别是“蓝色”和“不是蓝色”等文字?
答案 1 :(得分:2)
你需要在条件的其他部分放置条件。
$(function() {
$('#text1').hide();
$('#select2').on('change', function(event) {
var opt = this.options[ this.selectedIndex ];
var picked_blue = $(opt).text().match(/Blue/i);
if(picked_blue) {
$('#text1').show();
} else {
$('#text1').hide();
if($(opt).text().match(/Red/i))
{
//You code here
}
}
});
});
或缩短代码。
$(function() {
$('#text1').hide();
$('#select2').on('change', function(event) {
selectedVal = $(this).val().toLowerCase();
switch (selectedVal){
case 'blue':
//Your code
break;
case 'red':
//Your code
break;
case 'black':
//Your code
break;
default:
//your code
}
});
});
答案 2 :(得分:1)
为什么你不能尝试使用Jquery
中的切换功能$('#text1').toggle();