我有一个选择字段,其中有一些选项。现在我需要用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/
没有任何理由去想太多。您所要做的就是访问和设置一个属性。就是这样。
好的,一些基本的DOM:
如果你在JavaScript中直接这样做,你会这样做:
window.document.getElementById('my_stuff').selectedIndex = 4;
但你不是用JavaScript,而是用jQuery。在jQuery中,你想要使用.prop()函数来设置属性,所以你会这样做:
$("#my_stuff").prop('selectedIndex', 4);
不管怎样,只要确保你的id是唯一的。否则,你会用头撞墙,想知道为什么这行不通。
我需要选择一个选项,但两个选项可能具有相同的值。
这纯粹是为了视觉(前端)的差异。
你可以选择一个选项(即使两个值相同),如下所示:
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>元素。
试试这个。
它简单而有效,是JavaScript + jQuery的致命组合。
SelectComponent:
<select id="YourSelectComponentID">
<option value="0">Apple</option>
<option value="2">Banana</option>
<option value="3">Cat</option>
<option value="4">Dolphin</option>
</select>
选择:
document.getElementById("YourSelectComponentID").value = 4;
现在您的选项4将被选中。您可以这样做,在默认情况下选择启动时的值。
$(function(){
document.getElementById("YourSelectComponentID").value = 4;
});
或者创建一个简单的函数,将行放入其中,并在anyEvent上调用该函数来选择该选项
jQuery + JavaScript的混合物的魔力…