选择其他选项上的选项时,更改选择值

时间:2013-11-06 00:51:34

标签: jquery

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

我已经尝试了一些像

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

其中pos是值,id是用户刚刚更改的select的id(因此必须保持此值)。 但是现在所有这些尝试似乎都不起作用。

谢谢!

3 个答案:

答案 0 :(得分: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();
});

答案 1 :(得分:0)

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

$("select").not("#"+id).has('[value=" + pos + "]:selected').val(0).change();

答案 2 :(得分:0)

由于Arun P Johny的定位,我终于找到了我需要的东西:)

这是代码

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