Удалить от n до m строк из таблицы

Создание разбитого на страницы списка записей с поддержкой jQuery. общее количество записей на странице может быть 10,20,50,100. Если по умолчанию было выбрано 50, а пользователь выбирает 20, то я просто хочу удалить строки таблицы, начиная с 21 до 50.

Как я могу это сделать ?


person Parijat Kalia    schedule 09.07.2013    source источник
comment
сила jquery не дала вам ajax изменить значение по умолчанию и загрузить результат на основе этого   -  person zod    schedule 10.07.2013
comment
ну, конечно, вы можете сделать это. Я просто не хочу делать аякс-звонок и получать записи, которые у меня уже есть с собой   -  person Parijat Kalia    schedule 10.07.2013
comment
так что тогда без обновления страницы, как вы это сделаете   -  person zod    schedule 10.07.2013
comment
э... в вопросе объясняется, что я просто удаляю строки. У меня отображается 50 строк, пользователь выбирает 20, я удаляю строки 21-50. Помогает?   -  person Parijat Kalia    schedule 10.07.2013


Ответы (2)


Возможно, используя nextAll()? Как это:

JSFiddle:

http://jsfiddle.net/eLwPf/3/

person lynx_vbg    schedule 09.07.2013

Я думаю, вам лучше сделать правильное обновление, чтобы код разбиения на страницы не рассинхронизировался с тем, что на самом деле отображается.

Но чтобы ответить на ваш вопрос, как задано:

$("#yourTableId tr").slice(20).remove();

То есть выберите все строки, а затем используйте метод .slice(), чтобы сократить набор до тех, которые из строки 20 (или любого другого номера, очевидно, вы использовали бы там переменную), а затем .remove() их .

Обратите внимание, что .slice() использует индекс, начинающийся с нуля, поэтому .slice(20) дает вам 21-ю строку и выше. Вы можете указать конечный индекс, например, .slice(20,50), но если вы этого не сделаете, он просто выберет все элементы из начального индекса и выше, поэтому в этом случае .slice(20) выполняет эту работу.

person nnnnnn    schedule 09.07.2013