从select中返回的JQuery测试值

时间:2011-10-13 01:37:01

标签: jquery

它包含值为truefalse的选项。

我在这里有一些jQuery:

$("#myselect").change(function () {

            var accepted = $(this)[0].value;
            alert(accepted);

            if(accepted == false) {
                alert("Hi");
             }
        });

我不明白为什么Hi消息永远不会显示。

if中的条件总是通过false

有人可以帮我解决这个问题我是jQuery的新手。

3 个答案:

答案 0 :(得分:4)

这是因为value=""的{​​{1}}是一个字符串:

input

http://jsfiddle.net/nAteT/

答案 1 :(得分:2)

select的值是一个字符串,而不是一个布尔值。非空字符串被计算为真值,因此它永远不会等于布尔值false。你应该把你的比较作为一个字符串。

$("#myselect").change(function () {

     var accepted = $(this).val();
     alert(accepted);

     if (accepted == 'false') {
         alert("Hi");
     }
});

答案 2 :(得分:1)

您的下拉列表的值似乎是'false',这是一个字符串,而false是一个布尔值。

因此,请将支票更改为if(accepted == 'false')