我有一个选择框,我想尝试获取当前所选选项的索引。 我可以用这个来获得它的价值。
(#mySelectBox).VAL();
我所追求的是,如果说val被默认设置为最后一个选项,那就是option3我想获得该选项的索引。
<div class="selectItems">
<select id="mySelectBox">
<option value="0">option1</option>
<option value="1">option2</option>
<option value="2">option3</option>
</select>
</div>
答案 0 :(得分:1)
// Get the text of the selected item
alert($("#myselect option:selected").text());
// Get the value of the selected item
alert($("#myselect option:selected").val());
// Get the index of the selected item
alert($("#myselect option").index($("#myselect option:selected")));
或者对于jQuery&gt; = 1.6:
alert($('#myselect').prop('selectedIndex');
但是,当您可以获取选择的值或文本时,索引的用途是什么?如果您特别想知道它是第一个还是最后一个,也许......
alert($('#myselect option:selected').val() === $('#myselect option:first').val());
alert($('#myselect option:selected').val() === $('#myselect option:last').val());
答案 1 :(得分:1)
我认为您正在寻找的是.selectedIndex属性。如果您在选择框中有更改事件,则可以执行以下操作:
$('select').change(function() {
var currentIndex = this.selectedIndex;
});
这将为选项3返回2.
祝你好运。答案 2 :(得分:0)
$('#mySelectBox option:selected').val();
答案 3 :(得分:0)
试试这个 - &gt; http://jsfiddle.net/p6Jfb/
脚本:
$("#mySelectBox").change(function() {
console.log($(this).get(0).selectedIndex); // prints the currently selected index
})
答案 4 :(得分:0)
$(function(){
$('#mySelectBox').on('change',function(){
console.log('Selected Value '+$('#mySelectBox option:selected').val())
console.log('Selected Text '+$('#mySelectBox option:selected').text())
console.log('Selected Index '+$('#mySelectBox option:selected').index())
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="selectItems">
<select id="mySelectBox">
<option value="0">select</option>
<option value="1">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
</select>
</div>
尝试这个。