Я пытался заставить это работать так, чтобы первый td строки, позиция, не перемещался, пока пользователь перемещает другие данные в этой строке вверх или вниз.
jsFiddle: http://jsfiddle.net/qjd8w/6/
$(document).ready(function(){
$('.up, .down').click(function(e){
e.preventDefault();
var row = $(this).parents("tr:first").children().not(':first');
//causes error
if ($(this).is(".up")) {
row.insertBefore(row.prev());
}
else {
row.insertAfter(row.next());
}
});
});
var row = $ (this).parents("tr: first") - сам по себе имеет желаемый эффект, но перемещает позицию вверх и вниз вместе с остальной частью строки.
Я не хочу, чтобы позиция вообще двигалась, поэтому она всегда будет в порядке (1, 2, 3, 4)
Любая помощь вообще очень ценится.
Одним из вариантов было бы просто перенумеровать первый столбец:
$('tbody tr td:first-child').each(function(idx, item) {
$(this).text(idx+1);
});