我有一些jQuery,用于在页面上的任何<select>
元素发生更改时触发。如果该元素的值为“Other”,则从与select元素同名的div中删除一个类。
这是我的代码:
$('select').change(function(){
var x = $(this).attr('name');
if($(this).val('Other')) {
$('div[name="' + x + '"]').removeClass('hidden');
} else {
$('div[name="' + x + '"]').addClass('hidden');
}
});
它适用于页面加载时div被隐藏,如果选择“Other”,则显示div。
然而:
下拉列表中的任何选择都会导致选择“其他”(以及代码触发)
因此,即使在病房后尝试更改,也不可能选择“其他”以外的任何其他标记。
谁能看到我哪里出错了?提前致谢
答案 0 :(得分:1)
更改
if($(this).val('Other'))
// this will set value to Other so if condition will always be true no matter what ever you select.
到
if($(this).val() == 'Other')
// this will check if value is equal to Other
或更好
if(this.value == 'Other')