Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подсветка результатов в живом поиске (https://javascript.ru/forum/misc/43915-podsvetka-rezultatov-v-zhivom-poiske.html)

vertmann 26.12.2013 13:09

Подсветка результатов в живом поиске
 
Здравствуйте, помогите пожалуйста добавить подсветку вводимой строки в поиск в результатах поиска. str = obj.val() - тут значение, которое вводим в поиск.

for (i = 0; i < response.length; i++) {
                        if(response[i].catalog.flag) {
                            // выводим каталог
                            li = '<dt><a href="'+site_url+response[i].catalog.clink+'">'+response[i].catalog.cname+'</a></dt>'
                            results_div.find('ul').append(li);
							
							str = obj.val();
                            // выводим найденные объекты для каталога
                            for(k = 0; k < response[i].objects.length; k++) {
								pos = str.indexOf(response[i].objects[k].name);
								//alert(pos);
                                li = '<dd><a href="http://' + response[i].objects[k].subdomain + '"><span>' + response[i].objects[k].name + '</span></a></dd>'; // вот тут необходимо вывести результаты с подсветкой введенного слова
                                results_div.find('ul').append(li);
                            }
                        }
                    }

рони 26.12.2013 13:28

Цитата:

Сообщение от vertmann
// вот тут необходимо вывести результаты с подсветкой введенного слова

нужно догадатся что именно должно быть тут?

vertmann 26.12.2013 14:20

Цитата:

Сообщение от рони (Сообщение 289364)
нужно догадатся что именно должно быть тут?

это коммент к строке, в которой уже выводятся результаты:

li = '<dd><a href="http://' + response[i].objects[k].subdomain + '"><span>' + response[i].objects[k].name + '</span></a></dd>';

И вот вместо этого response[i].objects[k].name, что выводит имя объекта, нужно вывести это же имя объекта, но с подсветкой введенного запроса.

Сейчас уже сомневаюсь, что средствами js такое сделать реально, думаю, что нужно на этапе получения от сервера данных их форматировать соответствующим образом.

рони 26.12.2013 14:28

Цитата:

Сообщение от vertmann
И вот вместо этого response[i].objects[k].name, что выводит имя объекта, нужно вывести это же имя объекта, но с подсветкой введенного запроса

и как это связано со строкой str ?
и есть же replace
Замещает совпадения с регулярным выражением на новую подстроку


Часовой пояс GMT +3, время: 20:28.