【问题标题】:select an option with partial matching in option value选择选项值部分匹配的选项
【发布时间】:2014-06-05 06:10:24
【问题描述】:

我的下拉菜单就像

<select id="taskType">
    <option value="xyz:1">Employee Name</option>
    <option value="abc:2">Employee Name</option>
    <option value="123:3">Employee Name</option>
    <option value="efg:4">Employee Name</option>
    <option value="hij:5">Employee Name</option>
   </select>

我想选择值中带有“:4”的选项。 我尝试了字符串匹配

$("#taskType option[value^='"+str.match(/(:4)/g)+"']").prop("selected", true);

但它没有给出结果。我也试过 contains 函数。

$("#taskType option[value:contains(':4')]").prop("selected", true);

仍然没有得到结果。 谁能帮我找出我的代码中的错误。

【问题讨论】:

    标签: jquery html


    【解决方案1】:

    你可以使用attribute ends with选择器

    $("#taskType option[value$=':4']").prop("selected", true);
    

    演示:Fiddle

    【讨论】:

      【解决方案2】:

      尝试在这种情况下使用.filter()

      $("#taskType option").filter(function(){
         return $(this).val().indexOf(':4') > -1
      }).prop("selected", true);
      

      DEMO

      或使用attribute contains(*=)选择器

      $("#taskType option[value*=':4']").prop("selected", true);
      

      DEMO

      【讨论】:

        【解决方案3】:

        你可以这样做:

        $("#taskType option").each(function(){
        
            if($(this).val().indexOf(":4") != -1)
            {
                $(this).prop("selected", true)
            }
        
        });
        

        FIDDLE DEMO

        【讨论】:

          【解决方案4】:

          试试这个

          $("#taskType option[value~=':4']").prop("selected", true);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-02-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多