-1

我在 0 到 10 之间有多个相同数字的选择。值 1 到 10 必须是唯一的,因此当用户选择已在另一个选择上选择的选项时,我希望另一个切换到 0 值并触发在 db 中调用更新的更改事件。

我已经尝试过一些方法,比如

$("select option[value="+pos+"]").not("#"+id+" option").val(0).change();

其中 pos 是值,id 是用户刚刚更改的选择的 id(所以必须保持这个值)。但目前所有的尝试似乎都不起作用。

谢谢 !

4

3 回答 3

1

看看这个:http: //jsfiddle.net/8gY5p/5/

<select>
    <option value="0">option 0</option>
    <option value="1">option 1</option>
    <option value="2">option 2</option>
    <option value="3">option 3</option>
</select>

<select>
    <option value="0">option 0</option>
    <option value="1">option 1</option>
    <option value="2">option 2</option>
    <option value="3">option 3</option>
</select>

<select>
    <option value="0">option 0</option>
    <option value="1">option 1</option>
    <option value="2">option 2</option>
    <option value="3">option 3</option>
</select>

$('select').change(function(){
    var value = $(this).find(":selected").val();
    if(value!=0)
        $('select').not(this)
            .has("[value=" + value + "]:selected").val(0).change();
});
于 2013-11-06T01:30:04.397 回答
0

多亏了 Arun P Johny 的指导,我终于找到了我需要的东西 :)

这是代码

$("select:has(option[value="+pos+"]:selected)").not("#"+id).val(0).change();
于 2013-11-06T01:31:56.827 回答
0

您需要将值设置为select元素,而不是选项

$("select").not("#"+id).has('[value=" + pos + "]:selected').val(0).change();
于 2013-11-06T00:55:20.640 回答