【问题标题】:jquery selector to get all select dropdowns with a particular value selectedjquery选择器获取所有选择特定值的下拉列表
【发布时间】:2011-07-06 06:45:58
【问题描述】:

如何使用 jQuery 选择器选择所有选择框,其中选择的值为“A1”?

示例选择框:

<select name="accesslevel">
<option value="A1">A1 Access</option>
<option value="A2">A2 Access</option>
</select>

我必须使用选择器来做以下事情:

.parent().nextAll('td[id^="A1Access"]').show();
.parent().nextAll('td[id^="A2Access"]').hide();

谁能帮忙?

【问题讨论】:

    标签: jquery html jquery-selectors


    【解决方案1】:

    如前所述,Prakash 的解决方案是最接近的,但它选择的是选项值而不是选择框本身。这可以通过 :has 选择器来解决。

    $('select:has(option[value="A1"]:selected)')
    

    【讨论】:

    • 这个选择器在 IE Edge 中的性能非常差(也许其他 ie 也一样)。改用这个: $('option:selected').filter('[value="A1"]').parent();
    • 你也可以这样做 $('select').has('option[value="A1"]:selected')
    【解决方案2】:

    试试:

    $('select option[value="A1"]:selected')
    

    【讨论】:

    • 这将返回选项本身,而不是选择框。
    • @DSKVR 好点,不过从这里到.parent('select') 很简单。或者只是.parent()。
    • 我只是给选择器,现在有了它,他可以通过选择器做任何他想做的事情
    • 我觉得 dsnettleton 的回答比这个好
    【解决方案3】:
    $('select').filter(
    function(){   
       if($(this).val()=="A1")
            return true;
        else
            return false;
    }
    )
    

    您可以在此之后添加您的功能

    $('select').filter(
    function(){   
       if($(this).val()=="A1")
            return true;
        else
            return false;
    }
    ).parent().nextAll('td[id^="A1Access"]').show();
    

    【讨论】:

      【解决方案4】:

      这里有点像你原来的规范,但只是做了一些修改以使用我的选择器。

      $('.container').find('option[value=A1]').filter(':selected').parent('select').show();
      

      这里是简化的:

      $('option[value=A1]:selected').parent('select');
      

      【讨论】:

        【解决方案5】:

        用于简单地选择所有 html 正文中的选项

        alert($('option[value=A1]').html());
        

        对于select

        alert($('select[name=accesslevel]').find('option[value=A1]').html());
        

        但 alert 只适用于一个元素。

        选择你有

        $('option[value=A1]').parent().remove(); 
        

        它将选择父级并将其删除。

        【讨论】:

          【解决方案6】:

          制作一个这样的 id..

          <select name="accesslevel" id="myselector">
          <option value="A1">A1 Access</option>
          <option value="A2">A2 Access</option>
          </select>
          

          现在用那个 id 选择它。

          $("select#myselector option:selected").each(function () 
          {
               alert($(this).text() + " ");
          });
          

          【讨论】:

            猜你喜欢
            • 2013-10-06
            • 1970-01-01
            • 1970-01-01
            • 2018-12-21
            • 2013-12-09
            • 1970-01-01
            • 1970-01-01
            • 2013-01-12
            • 1970-01-01
            相关资源
            最近更新 更多