отключить кнопки, если остается только строка

0

У меня есть следующий скрипт, и я пытаюсь отключить кнопки удаления, перемещения вверх и вниз, если присутствует только одна строка. Может ли кто-нибудь показать мне, как это сделать, я застрял?

Может ли кто-нибудь показать мне, как добавлять инкрементные имена в поле выбора, используя скрипт ниже?
Спасибо

<script>
$('.addnew').live('click', function(){
var thisRow = $(this).parent().parent();
newRow = thisRow.clone(true).insertAfter(thisRow);
newRow.find('input:not(.add)').val("");
newRow.find('.remove').show();
newRow.find('input.increment').val(parseInt(thisRow.find('input.increment').val())+1);
});

$('.remove').live('click', function(){
$(this).parent().parent().remove();

});

$('.up,.down').click(function () {

  var row = $(this).parents('tr:first');

  if ($(this).is('.up')) {

        row.insertBefore(row.prev());

  }

  else {

        row.insertAfter(row.next());

  }

  });
  </script>
  • 1
    Возможно, вы захотите использовать «.on ()» вместо «.live ()», так как live устарела в jQuery версии 1.7.
Теги:
row

1 ответ

0
Лучший ответ

Это из другого ответа tvanfosson:

Используйте селектор, который выберет все строки и возьмет длину.

var rowCount = $('#myTable tr').length;

Я не знаю, как выглядит ваш HTML, но, кстати, вы выбираете строки выше:

var rowCount = $(this).parents('tr').length;

Итак, запустите только код, чтобы отключить кнопки, если эта длина равна единице. Обратите внимание, что он будет считать все trs каждой вложенной таблицы, поэтому вы можете проверять другое число, отличное от 1.

  • 1
    Спасибо, что привели меня в правильном направлении; хотя я попробовал ваше решение, оно не сработало. но мне удалось реализовать это = "var rowCount = $ (this) .closest (" tr "). prevAll (" tr "). length; // получить строки таблицы if (rowCount> 0) // оставить начальную строку на месте"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню