我有一个选择字段,其中有一些选项。现在我需要用jQuery选择其中一个选项。但是,当我只知道必须选择的选项的值时,我该怎么做呢?
我有以下HTML:
<div class="id_100">
<select>
<option value="val1">Val 1</option>
<option value="val2">Val 2</option>
<option value="val3">Val 3</option>
</select>
</div>
我需要选择值为val2的选项。如何做到这一点呢?
这是一个演示页面:
http://jsfiddle.net/9Stxb/
我需要选择一个选项,但两个选项可能具有相同的值。
这纯粹是为了视觉(前端)的差异。
你可以选择一个选项(即使两个值相同),如下所示:
let options = $('#id_100 option')
options.prop('selected', false) // Deselect all currently selected ones
let option = $(options[0]) // Select option from the list
option.prop('selected', true)
option.parent().change() // Find the <select> element and call the change() event.
这将取消当前选中的所有<option>元素。选择第一个元素(使用选项[0]),并使用change事件更新<select>元素。
您可以使用属性选择器[attributename=optionalvalue]选择任何属性及其值,因此在您的情况下,您可以选择该选项并设置所选属性。
$("div.id_100 > select > option[value=" + value + "]").prop("selected",true);
其中value是您希望通过的值。
如果您需要删除任何先前选择的值,就像多次使用这种情况一样,您需要稍微更改它,以便首先删除所选的属性
$("div.id_100 option:selected").prop("selected",false);
$("div.id_100 option[value=" + value + "]")
.prop("selected",true);