我有一个像以下
这样的选择选项<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选择我的选项时为什么会发生这个错误?!
答案 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');