1

使用 jquery 检查以下内容的最佳方法是什么:

如果使用 jquery 向页面添加了多个下拉菜单,请检查是否选择了相同的值

我在页面上有一个下拉菜单:

<select name="brand" class="brands" onchange="some function to check for the same value>
 <option>Brand 1</option>
 <option>Brand 2</option>
 <option>Brand 3</option>
</select>

我还可以动态添加更多下拉菜单。每个动态下拉菜单对选项使用相同的数据。因此,当我单击添加按钮以显示新的下拉列表时,我可以拥有这个:

<select name="brand_1" class="brands" onchange="some function to check for the same value">
 <option>Brand 1</option>
 <option>Brand 2</option>
 <option>Brand 3</option>
</select>

然后再次:

<select name="brand_2" class="brands" onchange="some function to check for the same value">
 <option>Brand 1</option>
 <option>Brand 2</option>
 <option>Brand 3</option>
</select>

等等等等……

我猜我可以在 jquery 中使用 class 元素和下拉菜单的 onchange() 事件,但不确定最好的方法。任何可以为我指明正确方向的想法或帮助将不胜感激。

谢谢

JC

4

1 回答 1

1

I think this could be a solution. FIDDLE
But it will only work is the select elements are one after another.

$('select').on('change', function () {
    var val = $(this).val(); // get the value of the current changed select
    var i = $(this).index(); // get it's index (position in the group starting from 0)
    $('select:not(:eq('+i+'))').each(function () { // loop through each select 
        if ($(this).val() === val) { // check if the value of the next select 
                                     // is the same as the changed one
            alert($(this).index()+' has the same value'); 
            // alert the ones with the same value 
       }
    });
});
于 2013-04-29T08:27:38.780 回答