每次触发事件时更改所选元素的索引

时间:2012-12-08 04:49:41

标签: jquery

每次触发此事件时,我都会尝试增加所选invoiceLine元素的索引。我想知道是否有人可以告诉我一个简单的方法来做到这一点,如果它是可能的,因为我是JQuery的新手,并且我真的很难用这个。

$invoiceLine.find('input').change(function(){
    $(this).parent().parent().next().find('div input').removeAttr('disabled');
});

1 个答案:

答案 0 :(得分:0)

如果通过索引表示元素在其兄弟节点中的位置,则可以使用许多jQuery方法轻松移动元素,例如: after(),before(),insertAfter(),insertBefore(),append(),appendTo()等。 这是一个简单的例子:

HTML:

<div class="invoiceLine">
    1 <input />
</div>
<div class="invoiceLine">
    2 <input />
</div>
<div class="invoiceLine">
    3 <input />
</div>

JS:

$('.invoiceLine').find('input').change(function() {
    var line = $(this).closest('.invoiceLine'); // find enclosing invoiceLine
    var next = line.next(); // find next invoiceLine
    if (next.length) // check that current line is not last
        line.insertAfter(next); // insert current line after the next one
});​​​​​​​​​​​​​​

小提琴:http://jsfiddle.net/antishok/DteuU/