使用jquery选择不符合预期的选项

时间:2013-03-25 04:20:41

标签: java jquery

我有一个像以下

这样的选择选项
<select name="test" onchange="updateRecipientCount()">
<option value='123'>one</option>
</select>

当我点击并选择一个选项时,它表现正常,我可以毫无问题地提交表格。

现在我最近的更改是通过jQuery远程选择我的选项(从其他字段获取其值,说自动完成,并根据值在选项中选择它),即使我可以在屏幕上看到它被选中,它的行为不应该如此。

 $('select option[value='123']').attr('selected', true);

当我提交表单时,我收到以下错误,也没有触发select onchange函数。

java.lang.IllegalArgumentException: No Index Value

有谁知道这里有什么问题?当我使用jquery选择我的选项时为什么会发生这个错误?!

2 个答案:

答案 0 :(得分:0)

id属性添加到select

<select name="test" id="test" onchange="updateRecipientCount()">

$('#test').val(123); //this will select the option with value 123.

多选示例:

<select name="test" id="test" onchange="updateRecipientCount();" multiple="multiple">
<option value='123'>one</option>
<option value='123'>two</option>
</select>

<script type="text/javascript">
$(document).ready(function(){
    updateRecipientCount();  // For testing
});

function updateRecipientCount(){
    var ary = [123, 123]; // test data
    $("#test").val(ary);
}
</script>

答案 1 :(得分:0)

您的选择器中的引号错误,attr所选的值应为selected

$('select option[value="123"]').attr('selected', 'selected');
相关问题