我的页面中有4个下拉列表。我想知道使用索引选择或更改了哪个下拉列表。但每次我得到0
index.here是我的代码
https://jsbin.com/fapahosenu/1/edit?html,js,output
$(function(){
function dropdownChangeHandler(){
console.log($(this).index())
}
$('[data-dropdown="dropdowns_js"]').on('change',dropdownChangeHandler);
})
这不是我想要的..我想如果我改变第一个下拉列表它会给我0
。
我更改了第二个下拉列表,它给了我1
。我更改了第三个下拉列表,它给了我2
答案 0 :(得分:0)
问题是因为您从index()
获得select
但他们不是兄弟姐妹,因此他们都返回0
。
要解决此问题,请将选择器传递给index()
,这是您希望在其中找到索引的元素组,如下所示:
$('[data-dropdown="dropdowns_js"]').on('change', function() {
var index = $(this).index('[data-dropdown="dropdowns_js"]');
console.log(index);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<span>
<select class="dropdowns_js" data-dropdown="dropdowns_js" data-key="bank">
<option selected="true" disabled="true" value="0">Select Bank</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</span>
<span>
<select class="dropdowns_js" data-dropdown="dropdowns_js" data-key="state">
<option selected="true" disabled="true" value="0">Select State</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</span>
<span>
<select class="dropdowns_js" data-dropdown="dropdowns_js" data-key="district">
<option selected="true" disabled="true" value="0">Select District</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</span>
&#13;
答案 1 :(得分:0)
添加事件onclick并使用function dropdownChangeHandler(1)
传递值
答案 2 :(得分:0)
尝试使用以下功能,它将为您提供所选的下拉索引。如果您的问题通过我的解决方案解决,请标记为答案
function dropdownChangeHandler(){
$('.dropdowns_js').each(function(a,b){
if($(this).is(":focus"))
{
console.log(a);
}
});
}
如果您选择州下拉列表,它会为您提供1作为选定的索引