JQuery: Как получить содержимое диапазона, вычесть на 1 и заменить содержимое диапазона на новый номер?
Скажем, у меня есть цикл PHP, который отображает данные, которые вы можете удалить. Я использую AJAX, поэтому, когда вы удаляете строку, она обрабатывает PHP script, и строка исчезает со страницы.
Однако у меня есть что-то, что говорит "Есть 5 предметов". Я бы хотел, чтобы "5" изменилось при удалении элемента. Я решил, что самый простой способ - вычесть один из них в Javascript.
Проблема в том, что я действительно не знаю, как это сделать. Если бы кто-то мог указать мне в правильном направлении, это было бы здорово.
Ответы
Ответ 1
Предполагая, что счетчик находится в интервале с id 'cnt':
$("#cnt").text($("#cnt").text()-1)
Edit:
Безопасная версия:
var cntTag = $("#cnt:first");
if (cntTag.Length == 1)
{
var cnt = parseInt(cntTag.text());
if (!isNaN(cnt))
{
cnt--;
cntTag.text(String(cnt));
}
}
Ответ 2
HTML:
There are <span class="numitems">5</span> items.
JS:
var span = $("span.numitems");
span.html(parseInt(span.html()) - 1);
Ответ 3
Скажем, мы начинаем с трех:
<p>There are <span id='number'>3</span> items.</p>
<ol id ='thelist'>
<li> one
<li> two
<li> three
</ol>
Теперь нам нужно некоторое jQuery для обработки события изменения в списке
$(function(){
$('#thelist').bind('change', function(){
$('#number').html($('#thelist li').length)
}
}
каждый раз, когда #thelist изменяется, он обновляет длину в #number. Одним из преимуществ этого подхода является то, что привязывая событие изменения, вам не нужно устанавливатьInterval на таймер или что-то в этом роде. Все просто делает то, что должно было.
Ответ 4
Обновите полный список, если что-то изменилось. Проверяйте его с помощью AJAX каждые 5 секунд.
или
There are <span id="number">5</span> items.
а затем измените значение span с id 'number' с текущим числом строк после удаления. Qaru использует этот метод, когда новый ответ публикуется при добавлении нового.
Вы можете использовать
parseInt($("span").html());