0

我有一些 jQuery,旨在<select>在页面上的任何元素发生更改时触发。如果该元素的值为“Other”,它将从与选择元素同名的 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,如果选择“其他”,则会出现 div。

然而:

下拉列表中的任何选择都会导致选择“其他”(以及代码触发)

因此,即使尝试在病房后更改它,也无法选择“其他”以外的任何内容。

谁能看到我哪里出错了?提前致谢

4

1 回答 1

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')
于 2013-10-24T15:48:47.560 回答