Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.12.2013, 07:59
Новичок на форуме
Отправить личное сообщение для Coca-Cola Посмотреть профиль Найти все сообщения от Coca-Cola
 
Регистрация: 26.12.2013
Сообщений: 5

Как заставить цикл вывести все совпадения?
function searchModul(){
var lowText = $('#serach').val();
for(var i = 1;i <= $('.catName').length;i++){
if($('#cid'+i).text().toLowerCase().indexOf(lowText.toLowerCase()) != '-1'){
$('#resSearch').html('<a href="/publ/'+i+'">'+$('#cid'+i).text()+'</a>');
}}};

Здрасьте. Скрипт выводит только первое попавшееся совпадение,а мне нужно чтобы он выводил все совпадения. Как это реализовать? Помогите!
Ответить с цитированием
  #2 (permalink)  
Старый 27.12.2013, 08:22
Аспирант
Отправить личное сообщение для Antonius Посмотреть профиль Найти все сообщения от Antonius
 
Регистрация: 30.11.2013
Сообщений: 42

А точно выводит первое, а не последнее?

Кажется, он каждый раз, находя совпадение, заменяет результат последним совпадением, а не добавляет его.
Ответить с цитированием
  #3 (permalink)  
Старый 27.12.2013, 10:35
Новичок на форуме
Отправить личное сообщение для Coca-Cola Посмотреть профиль Найти все сообщения от Coca-Cola
 
Регистрация: 26.12.2013
Сообщений: 5

Antonius,
Да вы открыли мне глаза) кажется я понял как это сделать, спасибо)))
Ответить с цитированием
  #4 (permalink)  
Старый 27.12.2013, 10:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Coca-Cola,
плюсуйте найденные совпадения в одну переменную потом добавляйте её на страницу 1 раз после цикла
Ответить с цитированием
  #5 (permalink)  
Старый 01.01.2014, 23:00
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

Сообщение от Coca-Cola Посмотреть сообщение
function searchModul(){
var lowText = $('#serach').val();
for(var i = 1;i <= $('.catName').length;i++){
if($('#cid'+i).text().toLowerCase().indexOf(lowText.toLowerCase()) != '-1'){
$('#resSearch').html('<a href="/publ/'+i+'">'+$('#cid'+i).text()+'</a>');
}}};

Здрасьте. Скрипт выводит только первое попавшееся совпадение,а мне нужно чтобы он выводил все совпадения. Как это реализовать? Помогите!
Для начала не помешало бы уменьшить число обращений к DOM

function searchModul()
{
    var lowText = $('#serach').val().toLowerCase(),
        n = $('.catName').length,
        res = '';
        
    for (var i = 1; i <= n; i++)
     { var txt = $('#cid'+i).text();
       if (txt.toLowerCase().indexOf(lowText) != -1)
         res += '<a href="/publ/'+i+'">'+txt+'</a>';
     }
     
    $('#resSearch').html(res);
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как вывести дату, чтобы не повторять скрипт пару раз xXapokalypsesXx Общие вопросы Javascript 10 27.06.2013 13:43
Как вывести картинку по запросу Bon Events/DOM/Window 2 04.04.2012 02:20
как вывести картинку по запросу Bon Общие вопросы Javascript 0 03.04.2012 13:29
Как очистить все поля в определенном DIV DarkHacker jQuery 15 21.02.2012 11:39