jQuery - 按元素 id 设置选择索引
Posted
技术标签:
【中文标题】jQuery - 按元素 id 设置选择索引【英文标题】:jQuery - set select index by elements id 【发布时间】:2012-12-28 09:13:34 【问题描述】:<select id="mySelect">
<option id="sel01" value="some value">some value</option>
<option id="sel02" value="some other value">some other value</option>
<option id="sel03" value="maybe me">maybe me</option>
<option id="sel04" value="and another one">and another one</option>
</select>
我想选择一个使用 jQuery 的选项,但不是按值:
$("#mySelect").val(1);
但通过元素 id。
感谢您的回答。
【问题讨论】:
【参考方案1】:您可以使用prop
方法。
var id = 'sel02';
$('#mySelect option').filter(function()
return this.id === id
).prop('selected', true);
或:
$('#' + id).prop('selected', true);
或者如果你想根据它的索引选择一个选项,你可以使用eq
方法:
$('#mySelect option').eq(1).prop('selected', true);
【讨论】:
【参考方案2】:您可以使用 ID 检索元素值并将该值用于 jQuery val()
。
var elementId = 'sel01';
$("#mySelect").val($('#' + elementId).val());
【讨论】:
爱你的方式,但他的方法首先是“未定义”。谢谢。 @MarcinBobowski 由您来选择您更喜欢哪种解决方案 :) 最好的事情是能够学习所有方法并理解它们:)【参考方案3】:如果要选择选项:
$('#mySelect option#sel02').prop('selected',true);
如果你想获取选中的选项 id 的值:
$('#mySelect option#sel02').val();
【讨论】:
【参考方案4】: var id= "sel01";
$('#selectid option').each(function()
if($(this).attr('id') == id)
$(this).attr('selected',true);
);
【讨论】:
【参考方案5】:像这样。只需更改 eq(0) 中的数字
$("#mySelect").val($("#mySelect").children().eq(0).val());
【讨论】:
【参考方案6】:试试这个语法,
$('select option:selected').attr('id');
勾选here,它将根据文本值选择选项。
【讨论】:
【参考方案7】:我不知道上下文,但是当我需要从 json 获取数据并选择特定组合框的选项时,这对我有用:
$("#mySelect option[id='" + someVariable + "']").attr('selected', 'selected');
【讨论】:
哎呀,对不起:(以上是关于jQuery - 按元素 id 设置选择索引的主要内容,如果未能解决你的问题,请参考以下文章