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 设置选择索引的主要内容,如果未能解决你的问题,请参考以下文章

jQuery:当我有多个具有相同名称但唯一 id 的元素时,我可以按名称选择一个元素并读取它的 id 吗?

jquery中怎么获得当前元素的索引值

Jquery 选择器

jQuery 按属性值获取/选择元素

JQ选择器

jQuery id 选择器正在选择所有元素