使用jQuery获取带有selectedindex的选择框值

时间:2011-06-29 13:56:54

标签: jquery

jQuery是否可以根据所选索引获取选择框项的值?我问,因为我实际需要的是下一个/上一个按钮的当前selectedindex之前和之后的项目的值。这是我尝试的代码,但它没有用。

var my_value = $('#my_element_id').attr("selectedIndex").val();

1 个答案:

答案 0 :(得分:4)

这应该这样做(在我的第3次编辑之后:-))

它非常冗长,但很容易看出它在做什么。我相信你可以缩短它:

以下是一个工作示例:http://jsfiddle.net/59SPw/

HTML:

<select id="my_element_id">
    <option>Alex</option>    
    <option selected="selected">IS</option>
    <option>Cool</option>
</select>

JS:

var selectedIndex = $('#my_element_id :selected').index();

if(selectedIndex  > -1)
{
    selectedIndex = selectedIndex + 1; //index() is 0 based, nth-child is 1 based

    var prevIndex = selectedIndex - 1;
    var nextIndex = selectedIndex + 1;

    var prev = $('#my_element_id :nth-child(' + prevIndex  + ')').val();

    var next= $('#my_element_id :nth-child('+  nextIndex + ')').val();

    alert(prev || "no previous");
    alert(next || "no next");
}