Javascript 使用下拉列表隐藏/显示Jquery
亲爱的所有人,我试图做这些事情非常简单,但我不能得到我的头周围的语法 我有一个下拉列表。选项有两种类型的类。如果选择了类为“小于3”的选项,我们将看到警报。 如果选项的类别为“更大”,我们会看到不同的警报 以下是我的尝试: (请注意,我最初的工作版本是将点击处理程序直接附加到OPTION元素。但这只在Firefox中起作用,所以我改变了方法Javascript 使用下拉列表隐藏/显示Jquery,javascript,jquery,Javascript,Jquery,亲爱的所有人,我试图做这些事情非常简单,但我不能得到我的头周围的语法 我有一个下拉列表。选项有两种类型的类。如果选择了类为“小于3”的选项,我们将看到警报。 如果选项的类别为“更大”,我们会看到不同的警报 以下是我的尝试: (请注意,我最初的工作版本是将点击处理程序直接附加到OPTION元素。但这只在Firefox中起作用,所以我改变了方法 $('#time_at_address').change(function() { if ( $(this).children('.less_tha
$('#time_at_address').change(function() {
if ( $(this).children('.less_than_3:selected') ) {
alert('less than 3!');
}
if ( $(this).children('.greater_than_3:selected') ) {
alert('greater than 3!');
}
});
我不确定在JS中空数组的计算结果是否为
false
。因此,为了确保您可以使用:
$(this).children('.less_than_3:selected').length > 0
语法看起来很好。我假设您的实际问题是出现了警报框。我使用了另一种方法解决了这个问题。使用val()代替了按类名过滤 因此
$('#time_at_address').change(function() {
if ( $(this).val() == 'less than 1' ) {
$('#address_less_than').show();
}
else if ( $(this).val() == '1 year' ) {
$('#address_less_than').show();
}
else if ( $(this).val() == '2 years' ) {
$('#address_less_than').show();
}
else {
$('#address_less_than').hide();
}
});
但是有谁能告诉我……难道不可能将这些第一个语句(IF和另外两个IF)链接在一起吗?(因为它们返回相同的结果。)
我尝试使用两个垂直管道字符,但是没有用谢谢Felix。但是“.length>0”抛出了一个错误。我只是想告诉clarfiy-我所要做的是,当用户从列表中选择某个选项时,会显示某个DIV。(如果他们选择不同的选项,会显示不同的DIV)>我只是使用警报来简化事情。我甚至不确定我是否应该使用:selected(当我在Firebug中查看属性时,该属性甚至不存在)try myval=$(this.val();if((myval='小于1')| |(myval='1年')| | |(myval='2年'){$('#address(address)小于)')。show()}否则$('#address(address)小于)')。hide()}是的,是的!谢谢你的标记。它减少了我的代码。你知道为什么它需要在变量中才能工作吗?