我正在努力使用一个不应该那么难的小脚本...我正在捕捉选择标签的更改事件并继续进行一些ajax的事情。最后我处理了ajax调用的响应,在某种情况下我试图“回滚”用户的操作。+
所以他选择了一个选项,选项通过ajax发送到服务器,服务器说“你不能这样做”,我显示一条警告消息,告诉用户他不聪明,然后尝试重新选择默认选项这是第一个,一片空白。
这是DOM部分:
<select class="closedStatus">
<option data-requestid="2" value="-1"> </option>
<option data-requestid="2" value="3">yes</option>
</select>
所以,我想用value="-1"
将所选选项设置回第一个选项
但到目前为止还没有运气......这是我的代码:
$('.closedStatus').val('-1');
我在另一篇文章中发现了这个但这对我不起作用...... 知道为什么它不起作用吗?
编辑:实际上我真的很惭愧和愚蠢:问题是我的页面中有多个<select>
列表标有班级.closedStatus
...当然,它没那样工作......
无论如何,谢谢你的帮助!
答案 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');