我在SO
处看到了关于同一主题的其他帖子,但我找不到使用jQuery
设置选择的解决方案。
我的下拉列表如下:
<select type="select" id="docsList" name="docsList">
<option id="defaultListItem" value="0">Select a Document...</option>
<option value="38">Document 1</option>
<option value="35">Document 2</option>
<option value="46">Document 3</option>
<option value="45">Document 4</option>
</select>
我需要重置$.ajax()
成功功能中的下拉菜单。我使用了以下内容:
$('select#docsList option:selected').val('0');
$('select#docsList').attr('selectedIndex', 0);
......和其他一些人。
我开始认为这段代码很好,我还有其他事情可以防止重置下拉列表。
答案 0 :(得分:14)
你的事情太复杂了。您不需要jQuery来获取/设置<select>
的{{1}}。
selectedIndex
设置$('#docsList').get(0).selectedIndex = 0;
的值时,请在<select>
上呼叫.val()
,而不是<select>
之一。
<option>
答案 1 :(得分:7)
$('#docsList option[value=0]').attr('selected', 'selected');
这会将<option>
的值属性设置为0作为选定选项。
答案 2 :(得分:4)
马特的回答有一个小缺陷:
$('#docsList').val('0');
当不在兼容模式下时,上面的代码在IE 9中不起作用。以下为我提供了跨浏览器:
document.getElementById('docsList').selectedIndex = 0;
感谢指针指向正确的方向。
答案 3 :(得分:3)
您想要$('select#docsList').val('0');
请参阅示例:http://jsfiddle.net/uE2YN/
答案 4 :(得分:-1)
$(".btn-reset").click(function () {
$('#docsList').val('123er43f-12fr-7hgy-ju78-kju345uy65r3');
$('#docsList').trigger('chosen:updated');
});