【问题标题】:jQuery - set select index by elements idjQuery - 按元素 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。

感谢您的回答。

【问题讨论】:

    标签: jquery select jquery-selectors


    【解决方案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');
              

              【讨论】:

              • 哎呀,对不起:(
              猜你喜欢
              • 2015-04-01
              • 2013-10-08
              • 2021-03-08
              • 1970-01-01
              • 2010-11-16
              • 2011-04-19
              • 1970-01-01
              • 2011-11-09
              • 1970-01-01
              相关资源
              最近更新 更多