【问题标题】:How to make selected an option of tag select in jquery without value [duplicate]如何在没有值的情况下在jquery中选择标签选择选项[重复]
【发布时间】:2013-07-04 05:52:21
【问题描述】:

我需要使用 JQuery 选择选项 17 我不能使用价值,因为它总是不同的。 那么有什么解决方案可以使用“选择”孩子或其他东西的数量吗? 谢谢。

<select name="size" id="size">
    <option value="1430">17</option>
    <option value="1429">19</option>
    <option value="1428">20</option>
    <option value="1427">16</option>
    <option value="1426">15</option>
    <option value="1425">18</option>
</select>

【问题讨论】:

    标签: jquery html


    【解决方案1】:
    $('select[name="size"] option').each(function() {
       if($(this).text() == '17') {
           $(this).prop('selected', true);
       }
    });
    

    【讨论】:

      【解决方案2】:

      您可以使用:contains() selector:

      $("#size").find("option:contains(17)").prop("selected",true);
      

      虽然这也会接收到像1117 这样的文本。所以你可以使用.filter()(或$.trim()):

      $("#size option").filter(function() {
          return $.trim($(this).text()) === "17";
      }).prop("selected", true);
      

      或者一个好的旧的.each()循环会让你在找到匹配的项目后立即停止,所以它比.filter()更混乱但更有效:

      $("#size option").each(function() {
          if ($.trim($(this).text()) === "17") {
             $(this).prop("selected", true);
             return false;
          }
      });
      

      【讨论】:

      • 问题是如果有一个选项为 117、171 等出现在此选项之前,则值为 17 的选项
      • @PSL - 是的,我只是在...中编辑它
      【解决方案3】:

      Jquery 让开发者的生活变得如此轻松 :)

      var setstatus=17;
       $("#size option:contains(" + setstatus + ")").attr('selected', 'selected');
      

      【讨论】:

        猜你喜欢
        • 2015-04-19
        • 1970-01-01
        • 2013-09-14
        • 2021-07-03
        • 1970-01-01
        • 2014-06-22
        • 1970-01-01
        • 1970-01-01
        • 2015-02-23
        相关资源
        最近更新 更多