2012-01-12 113 views
0

我原来的问题在这里:From: jquery multiple select option dependent的jQuery选择选项&&不是一项单独的选项选择

但我想工作了,从中有很多相关的选择的复杂,如何基本上说,如果这个选择选项被选择,而不是从另一个选择特定的选项,然后做到这一点...

这里有一些事情我已经试过不佳与失败:

if($(this).val() == "10000" && $("#someselect option:not([value='800']) { 

if($(this).val() == "10000" && $("#someselect").not('[val="800"]')) { 
+0

'$( “#someselect”)不是( '[VAL = “800”]')'没有你忘记任何这里比较? – zerkms 2012-01-12 21:53:18

回答

1

$("#someselect").not('[val="800"]')将给你一个对象引用,而不是一个值。

0

这可能工作:

if($(this).val() == "10000" && $("#someselect option:selected").val()!='800') { 
    //do stuff// 
} 
0

如果我理解你正确地,那么你正在尝试做的东西,如果当前元素(this)的价值是什么东西,和其他元素的值不东西,然后继续。如果这是正确的,那么你可以使用val获得第二个元素的值也:

if($(this).val() === "10000" && $("#someselect").val() !== "800") { 
    //Continue 
} 

:not选择和.not方法来排除匹配的集,这是不是在所有你是什么元素寻找。

+0

blimey在一分钟内发表了三点评论。再次感谢你。我确信我尝试了这个,但失败了,但肯定是一个错字,然后我绝望地走下了一条错误的大街! :) – Eno 2012-01-12 22:03:45

1

尽量简单

if($(this).val() == "10000" && $("#someselect").val() != "800") { 
    ... 
} 
+0

看到我上面的评论,谢谢你们。 – Eno 2012-01-12 22:02:52

1

试试这个:

if ($(this).val() === "10000" && $("#someselect").val() !== "800") { 
    //your work here 
} 
+0

非常感谢你,完美的作品。我敢肯定,我尝试过这种方式,但它不起作用,所以它一定是错字,再次感谢你的快速回复 – Eno 2012-01-12 22:02:08

+0

我想我们这里所有人都有同样的想法,恩诺:)很高兴它帮助。只是简单的说明:尽可能在JavaScript中使用'==='而不是'=='...它会为您节省一些麻烦! – TimDog 2012-01-12 22:29:09