使用jQuery从所选选项中选择前一个元素

时间:2011-12-04 04:43:54

标签: jquery html select

我想要访问select选项的值,该选项在前一个选定选项之前,即2,远离所选选项。 (对不起,很难说出来!)

例如,如果" 4"从这里选择,我想得到选项" 2"。

的值
<option value ="1">1</option>
<option value ="2">2</option>
<option value ="3">3</option>
<option value ="4">4</option>

我知道前一个方法有前一种方法,但其他方法呢?

谢谢!

3 个答案:

答案 0 :(得分:3)

你可以这样做

$("select").change(function(){
    var a = $('select option:selected').prev().prev().text();
    alert(a);
});

示例:http://jsfiddle.net/jasongennaro/NcPgV/

但是,当选择为2或更低时,这不会返回任何内容。

答案 1 :(得分:2)

正如其他人所说,你可以两次致电prev()

另一种更具伸缩性的解决方案是使用prevAll()。它返回从最近的兄弟中排序的元素,因此您可以将其与eq()

组合
var siblingValue = $("option:selected").prevAll().eq(1).val();

这样,如果您希望从所选择的选项中移出2个以上的选项,则不必将多个调用链接到prev()

答案 2 :(得分:1)

prev函数将获得给定节点的前一个兄弟;两次调用它将完成你想要的。

var element = $("option[value='4']");
var prev2 = $(element).prev().prev();
alert(prev2.val());
//alerts 2

这是fiddle

相关问题