在jquery中使用next和prev()

时间:2012-05-17 11:15:37

标签: javascript jquery

<label for="a1">First:</label>
<input id="a1" class="first" type="text" name="a1" value="123">
<label for="b1">Second:</label>
<input id="b1" class="second" type="text" name="b1"> <br />
<label for="a2">First:</label>
<input id="a2" class="first" type="text" name="a2"value="3424">
<label for="b2">Second:</label>
<input id="b2" class="second" type="text" name="b2"> <br />
<label for="a3">First:</label>
<input id="a3" class="first" type="text" name="a3"value="1235">
<label for="b3">Second:</label>
<input id="b3" class="second" type="text" name="b3"> <br />

$('.second').click(function(){
   var get_first = // ???
   $(this).val(get_first);
})

我想举个例子 - 如果我点击输入b3那么这个值现在是来自a3的值。我怎样才能在下一课和上一课中成功?

http://jsfiddle.net/Bgkrz/

3 个答案:

答案 0 :(得分:2)

我不确定我是否能想到这样做的原因,但假设我正确理解了您的要求,那么这应该有效(目前未经测试):

$('input:text').focus(
    function(){
        var that = $(this);
        that.val(that.prevAll('input:text:first').val());
    });

JS Fiddle demo

参考文献:

答案 1 :(得分:0)

您可以尝试这样JsFiddleDemo

$('.second').click(function(){
   var get_first = $(this).prev().prev().val();
   $(this).val(get_first);
})

答案 2 :(得分:0)

选中此Fiddle

使用jQuery.prevAll()它会以相反的顺序返回数组,你可以在这里找到零索引的元素。