【问题标题】:How to select all dropdowns that have a specific value selected?如何选择所有选择了特定值的下拉列表?
【发布时间】:2016-09-08 18:47:12
【问题描述】:

我不知道这是否可能,但有没有一种简洁的方法可以选择页面上所有已选择特定值的下拉菜单。

例如,我有许多相同的下拉菜单(id 除外),如下所示:

<select class="whatever">
  <option value="1">one</option>
  <option value="2">too</option>
  <option value="3">fwee</option>
</select>

我希望能够做这样的事情:

$(".whatever:2")

它只会选择那些选项值为 2 的下拉菜单

所有相关代码:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
    function go()
    {
        alert($(".whatever input[value='2']").length);
    }
</script>
<select class="whatever" id="a">
  <option value="1">one</option>
  <option value="2">too</option>
  <option value="3">fwee</option>
</select>
<select class="whatever" id="b">
  <option value="1">one</option>
  <option value="2">too</option>
  <option value="3">fwee</option>
</select>
<select class="whatever" id="c">
  <option value="1">one</option>
  <option value="2">too</option>
  <option value="3">fwee</option>
</select>
<input type="button" onclick="go();" value="go" />

【问题讨论】:

    标签: javascript jquery html jquery-selectors


    【解决方案1】:

    您可以通过input[value=value] 选择它。这是使用您的测试用例的示例:

    $(".whatever input[value=2]")

    上面只选择类中值为 2 的选项。

    【讨论】:

    • @Graham 我刚刚将它更新为更具体一点(使用选项而不是输入)。很高兴我能帮上忙!
    • 不知道如何设置jsfiddle,所以我在原始问题中添加了代码
    【解决方案2】:

    我认为这应该可以满足您的需求:

    $(document).ready(function() {
        jQuery("#btn").on('click',function(){
      $('select').filter(function() {
                return $(this).val()==='2';
      }).each(function(){
      console.log($(this).attr("id"))
      })   
        });
    
    });
    

    http://jsfiddle.net/kMb3p/

    我在那里添加了 console.log,因此您可以看到它返回正确选择元素的 id。这可以根据你需要做什么来改变:)

    【讨论】:

    • 那行得通。$(".whatever").filter(function(){return $(this).val()==='2';}).length
    【解决方案3】:
    $("input[value='specificvalue']")
    

    你可以像上面那样做。

    【讨论】:

    • 这行不通 - 我使用的是 jquery 1.7.1,如果有影响的话
    【解决方案4】:

    如果你只想数那么

    <script type="text/javascript">
        function go()
        {
            alert($("select.whatever option[value='2']:selected").length);
        }
    </script>
    

    如果您想选择所有具有选定值 2 的下拉菜单(用于更改其值或其他任何内容)

    <script type="text/javascript">
        function go()
        {
            var allDropdowns = $("select.whatever option[value='2']:selected").parent();
        }
    </script>
    

    【讨论】:

      猜你喜欢
      • 2011-07-06
      • 2014-10-03
      • 2014-04-07
      • 2013-12-09
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 2021-09-10
      相关资源
      最近更新 更多