1

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

例如,我有许多相同的下拉菜单(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

4 回答 4

2

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

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

以上仅选择类中值为 2 的选项。

于 2013-03-25T11:17:35.267 回答
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。这可以根据你需要做什么来改变:)

于 2013-03-25T12:01:32.753 回答
0
$("input[value='specificvalue']")

你可以像上面那样做。

于 2013-03-25T11:18:55.403 回答
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>
于 2016-09-08T10:47:12.100 回答