亲爱的所有人,我试图做的事情非常简单,但无法理解语法。
我有一个下拉列表。 OPTION有两种类型。如果选择了类'less_than_3'的OPTION,我们会看到一个警告。 如果一个类别为“更大”的OPTION,我们会看到不同的警告。
继承我的尝试: (请注意我最初有一个工作版本,将点击处理程序直接附加到OPTION元素。但这仅适用于Firefox,所以我改变了我的方法。
$('#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!');
}
});
答案 0 :(得分:0)
我不确定JS中的空数组是否计算为false
。所以要确保你可以使用:
$(this).children('.less_than_3:selected').length > 0
语法看起来很好。我认为你的实际问题是警报框出现了。
答案 1 :(得分: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和两个ELSE IF)链接在一起? (因为它们会返回相同的结果。)
我尝试使用两个垂直管道字符,但它不起作用