#javascript #jquery
#javascript #jquery
Вопрос:
В настоящее время я передаю одно значение из search.php
в filtering.php
. Я использую $_GET
для этого. На filtering.php
странице у меня есть таблица, которая автоматически фильтрует на основе слова, введенного в текстовое поле ввода. Я передаю значение в URL, например: http://holaweblearning.co.nf/php_learning/filtering.php?key=Dragoo
. Значение из URL берется и помещается в текстовое поле ввода, после чего отображаются результаты. Я могу запустить функцию, которая подсчитывает отфильтрованные результаты на основе слова. Проблема: счетчик результатов отключен, он изначально показывает правильное значение, но после нажатия на результат он добавляет 1
? ДЕМОНСТРАЦИЯ
$(document).ready(function($) {
//Trigger key up on search box to show results for word
$('input#filter').trigger('keyup');
//Counts Results
function result_count(){
var text = $('.footable tbody tr:not(.footable-filtered)').length;
$('h5#result_count').text('Number of Results: ' text);
}
result_count();
//Run on page load
window.setInterval(result_count, 100);
});
Комментарии:
1. Это опечатка, пропущенная точка с запятой после запуска keyup?
2. @MelanciaUK — Нет, это просто необязательно в JS.
3. Это может быть необязательно, но не рекомендуется.
4. @MelanciaUK Я забыл разместить
;
, сейчас исправлено.5. Отлично работает в Chrome.
Ответ №1:
Когда вы нажимаете на результат, была добавлена новая строка, подобная следующей, и поскольку этот тип строк НЕ ИСКЛЮЧАЕТСЯ из подсчета, ваш счет увеличится на единицу.
<tr class="footable-row-detail"><td class="footable-row-detail-cell" colspan="3"><div class="footable-row-detail-inner"><div class="footable-row-detail-row"><div class="footable-row-detail-name">Job Title:</div><div class="footable-row-detail-value">Traffic Court Referee</div></div><div class="footable-row-detail-row"><div class="footable-row-detail-name">DOB:</div><div class="footable-row-detail-value">22 Jun 1972</div></div></div></td></tr>
Вероятно, ваша функция должна быть:
function result_count(){
var text = $('.footable tbody tr:not(.footable-filtered,.footable-row-detail)').length;
$('h5#result_count').text('Number of Results: ' text);
}
Чтобы он не учитывал эту строку.
Комментарии:
1. Извините за задержку. Хорошо объяснено! Я внесу соответствующие изменения.