如何在更改事件(选择框)中的所选项目中获取索引?

时间:2018-01-19 11:10:59

标签: javascript jquery

我的页面中有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

3 个答案:

答案 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;
&#13;
&#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作为选定的索引