如何选择所有选定特定值的下拉列表?

时间:2013-03-25 11:16:14

标签: javascript jquery html jquery-selectors

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

例如,我有许多相同的下拉列表(除了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" />

4 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

我认为这应该涵盖你需要的东西:

$(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。这可以根据您需要做什么来改变:)

答案 2 :(得分:0)

$("input[value='specificvalue']")

你可以像上面那样做。

答案 3 :(得分:0)

如果你只想数,那么

<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>