jquery - 在不选择选项时执行某些操作

时间:2012-12-18 17:32:36

标签: jquery jquery-selectors

我的问题与此类似: jQuery <select> option disabled if selected in multiple <select> boxes

并且: jQuery <select> option disabled if selected in other <select>

但不同。

我有这个HTML格式:

<form method="post" action="" name="form_letter">
<label for="letter">Letter</label><br>
<select multiple="multiple" name="letter[]" id="letter">
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
</select>

<label for="list_of_a">List of A</label><br>
<select multiple="multiple" name="list_of_a[]" id="list_of_a">
    <option value="A1">A1</option>
    <option value="A2">A2</option>
    <option value="A3">A3</option>
    <option value="A4">A4</option>
</select>

<label for="list_of_b">List of B</label><br>
<select multiple="multiple" name="list_of_b[]" id="list_of_b">
    <option value="B1">B1</option>
    <option value="B2">B2</option>
    <option value="B3">B3</option>
    <option value="B4">B4</option>
</select>

<label for="list_of_c">List of C</label><br>
<select multiple="multiple" name="list_of_c[]" id="list_of_c">
    <option value="C1">C1</option>
    <option value="C2">C2</option>
    <option value="C3">C3</option>
    <option value="C4">C4</option>
</select>

<input type="submit" value="Save">
</form>​

我想要实现的是当未选择option select[name="letter[]"]时,然后点击submit按钮,相应字母的select列表为{{1 }或null

场景:
1.如果未选择empty A option,则点按select[name="letter[]"]按钮,submit将为select[name="list_of_a[]"]empty即使选择了其中一个选项。

2. B和C也是如此。

3.如果未选择null个选项,则letterlist_of_alist_of_b为空。

这是我的js:

list_of_c

我一直在这里工作http://jsfiddle.net/VPhPv/21/
但卡住了 请帮帮我。

1 个答案:

答案 0 :(得分:2)

您的问题是您将单个值与:not的{​​{1}}进行比较。你写过它们时,你永远不会在你的if比较中进入真实状态。如果你将警报(或使用调试器)放入其中,你会看到这一点。

相反,您需要与 选择的值进行不等于比较:

:selected

appropriate solution jsfiddle

您也可以通过在选择器中使用元素ID来稍微提高一些效果。