jQuery在<select>标签</select>中选择一个特定选项

时间:2013-06-28 14:11:06

标签: jquery select option

我正在努力使用一个不应该那么难的小脚本...我正在捕捉选择标签的更改事件并继续进行一些ajax的事情。最后我处理了ajax调用的响应,在某种情况下我试图“回滚”用户的操作。+

所以他选择了一个选项,选项通过ajax发送到服务器,服务器说“你不能这样做”,我显示一条警告消息,告诉用户他不聪明,然后尝试重新选择默认选项这是第一个,一片空白。

这是DOM部分:

<select class="closedStatus">
    <option data-requestid="2" value="-1">&nbsp;</option>
    <option data-requestid="2" value="3">yes</option>
</select>

所以,我想用value="-1"将所选选项设置回第一个选项 但到目前为止还没有运气......这是我的代码:

$('.closedStatus').val('-1');

我在另一篇文章中发现了这个但这对我不起作用...... 知道为什么它不起作用吗?

编辑:实际上我真的很惭愧和愚蠢:问题是我的页面中有多个<select>列表标有班级.closedStatus ...当然,它没那样工作......

无论如何,谢谢你的帮助!

2 个答案:

答案 0 :(得分:4)

您可以查找值为-1的option元素,然后将selected属性设置为true:

$('select.closedStatus').find('option[value="-1"]').prop('selected', true); 

<强> Working Demo

您正在做什么($('.closedStatus').first().val('-1');)将无效,因为这是选择select的第一个子项,这是一个选项,并设置该选项的值。我不确定这会产生任何影响(我认为你不能在选项元素上调用val('-1')),但如果它确实有效,它会将第一个选项的值更改为-1而不会影响完全选择。

答案 1 :(得分:1)

它适合你

更改

$('.closedStatus option[value=-1]').attr('selected','selected');

代替

$('.closedStatus').first().val('-1');