我试图在更改其值时使用类sel获取选择列表的索引。页面中有很多。
<p>
<select class="sel">
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
</select>
=> return 0 when changed
</p>
<p>
<select class="sel">
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
</select>
=> return 1 when changed
</p>
<p>
<select class="sel">
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
</select>
=> return 2 when changed
</p>
<p>
<select class="sel">
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
</select>
=> return 3 when changed
</p>
<p id="result"></p>
$(function()
{
$('.sel').change(function()
{
console.log( $(this).index()) //always returns 0
});
});
答案 0 :(得分:3)
因为select元素是p
元素的第一个子元素,如果要获取select.sel
集合中已更改元素的索引,则应该将元素传递给index
方法:
$(function()
{
var $sels = $('.sel').change(function()
{
console.log( $sels.index(this) );
});
});