#jquery #text #live
#jquery #текст #ЖИВЫЕ КОНЦЕРТЫ
Вопрос:
У меня есть диапазон, который содержит номер элемента (в данном случае он подсчитывает количество элементов li в списке), эти элементы списка могут быть удалены, поэтому число изменится, как я могу оперативно обновлять номер каждый раз, когда список изменяется?
Это код, который я использую для подсчета элементов списка
var getTotal = jQuery('#ul li').length;
$(".gettotal").text(getTotal);
Я посмотрел в Google, но ничего не нашел.
Комментарии:
1. Почему бы не запускать этот код (или добавлять его в функцию) каждый раз, когда элемент списка удаляется? Таким образом, количество
li
будет обновляться по мере удаления изul
.
Ответ №1:
Как создаются или удаляются ваши li-элементы? Вы захотите запустить обновление количества для этого события. Вы можете использовать возможности jQuery для создания / запуска пользовательских событий с помощью bind и trigger.
$('#ul').bind('li_deleted', function()
{
$('.gettotal').text( $('#ul li').length );
});
//and every time an li is deleted..
$('#ul').trigger('li_deleted');
Другой (и не очень хороший) вариант — запустить таймер на странице и проверить, изменяется ли число элементов списка — но это будет очень ресурсоемким, я бы не стал этого делать, если бы это не было последним средством.
Комментарии:
1. Спасибо, я пробовал это, но он подсчитывает все элементы списка, но не обновляет номер, если я удаляю один.
2. если вы удалите одно из них, вам придется запустить событие снова, я не знаю контекста вашего кода, поэтому я не знаю, как они удаляются — в противном случае я бы привел вам более наглядный пример для вашей ситуации.
3. Ну, я использую это для удаления элементов jQuery(‘.ph-delete’).click(function(){ $(this).parent(‘li’). slideUp(200,функция(){ $(this).remove() }); });
4. итак, сразу после
$(this).remove()
выполнения$('#ul').trigger('li_deleted');
5. Ах, теперь это работает, теперь я понимаю триггер, он должен выполняться в соответствии с событием. Спасибо за простое решение!!!
Ответ №2:
В зависимости от того, как часто меняется длина вашего списка, вы можете захотеть взглянуть на плагин Data-Link для jQuery.