Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   input text =input button (https://javascript.ru/forum/jquery/55978-input-text-%3Dinput-button.html)

presto 23.05.2015 23:48

input text =input button
 
имеются для поиска:
<input type="text">
и
<input type="button" onclick="search('{{searchValue}}')" value="Искать">

что нужно сделать чтобы вместо {{searchValue}} стоял текст из <input type="text">, с сохранением " (' ') "
к примеру если ввести в текст "чебурашка", то пошлется :
<input type="button" onclick="search('чебурашка')" value="Искать">

ну и если вы совсем добренькие, то как сделать чтобы выборка шла из бд и был выпадающий список, ну, когда вводишь "че", то выпадает "чебурашка", "че гевара", "чернобыль" и тому подобное, что соотносится с бд :yes:

laimas 24.05.2015 00:02

Поиск он и в Африке поиск - найти в базе запрошенное и выдать результаты или результат. А для этого функций не надо, нужно отправлять форму.
А вот список получить, это не поиск в прямом понимании, это получить некие значения для выбора, ключевые слова этого самого поиска, а уже затем произвести поиск, но опять таки функции не надо, а отправляем форму. И это называется autocomplete, есть такие плагины, поищите.

presto 24.05.2015 00:15

у меня на этой вот функции стоят очень сложные связи с бд и она в .tpl, поэтому присобачить к ней не догоняю как, а тут задача сделать поисковик, а не как есть тупо выбирать чебурашку из длинного списка, ну а сайт достался по наследству, а я далеко не скриптер, так что спрашиваю у мастеров :blink:

laimas 24.05.2015 02:06

Дело не в БД и шаблонах, как они там завязаны рояли не играет, главное что требуется от этого поиска.

Например, взять Гугл, когда мы набираем что-то в поле для поиска, то могут быть выданы уже готовые наборы. Это уже ранее введенные кем-то слова и фразы для поиска (живой поиск), которые Гугл кеширует. Вот по этим совам/фразам он и будет производить уже сам поиск сперва среди индексированных страниц, на которых это было найдено, затем на остальных.

В вашем случае это будет полнотекстовый поиск по содержимому и для этого текстовые поля sql-таблиц, в которых он будет производиться, должны иметь индекс FULLTEXT. А набираемые слова и фразы в поле для поиска должны искаться не среди этого текста, что накладно будет, а в полях содержащих ключевые слова (что это такое можно найти в сети и почитать) имеющих обычный индекс и связанными с полями текста.

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

Список этих ключевых слов получается асинхронным запросом, и здесь можно использовать плагин выше указанный. А запуск поиска, это просто отправить форму, без всяких функций. Сложных связей между БД и .tpl быть не может, те более не может быть бд и она в .tpl, тем более описанных на клиенте. Шаблон лишь выводит то, что ему предписано, получая от скрипта данные. Вот скрипт делающий запрос в базу, тот знает, что за данные надо запросить и каких полей (для поиска этот параметр задает поле поиска), как их обработать прежде чем отдать в шаблон и т.п. Что-то дополнительное для поиска и что может задаваться на клиенте, это к примеру фильтры, но это никак не связь БД и .tpl, это условия, которые можно задавать произвольно, и которые заранее определяются.

Поэтому чтобы вам "мастера" ответили, необходимо пояснить, что это за сложные связи и в чем искать "чебурашку".


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