Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменение значения value элемента input (https://javascript.ru/forum/misc/68728-izmenenie-znacheniya-value-ehlementa-input.html)

TBUCTEP 05.05.2017 13:40

Изменение значения value элемента input
 
Нужна помощь.
Есть запрос в БД через PHP, на выборку данных которые совпадают с введенным в поле input значением. Запрос обрабатывается через Ajax (для отслеживания изменения введенных данных) и PHP, с последующим выводом данных под элементом input в виде параграфа <p>.
Нужно реализовать функцию которая будет отслеживать на какой именно параграф нажато (при совпадении данных с БД, может выводиться несколько параграфов) и данные этого параграфа заносить в значение value нужного input’а.
И второй вопрос. Как сделать что бы в следующий input вставлялись данные, которые соответствуют данным первого поля.
Пример. В первое поле вводиться название товара, а во второе автоматически подставляется значение из БД фирмы производителя.

P.s. Извиняюсь за орфографию.

ksa 05.05.2017 14:25

Цитата:

Сообщение от TBUCTEP
Как сделать что бы в следующий input вставлялись данные, которые соответствуют данным первого поля.
Пример. В первое поле вводиться название товара, а во второе автоматически подставляется значение из БД фирмы производителя.

Либо запрашивать имя производителя по наименованию товара...
Либо хранить то имя в data-атрибуте того параграфа, брать его от туда при выборе и записывать куда нужно...

TBUCTEP 05.05.2017 15:26

Как выбрать нужное значение из БД я знаю.
Но как реализовать что бы оно автоматически подставлялось в нужно поле, после того как я выбрал нужный товар из списка что появился, после того как ввел в первый input первые буквы названия товара?
Если можно примитивный код для примера, без кода выборки из БД. Как записать данные в data и как его вставить в нужный input. И самое главное, как сделать что бы при нажатии на конкретный элемент списка, который появился под input, данные этого элемента записались в input (не дописывая его, а нажатием на него).

P.s. Не специалист в Javascript и Ajax, но умею подделывать под свой код.

laimas 05.05.2017 15:29

А зачем выбор из предложенного помещать в другое поле, а не в то, в котором ввод?

TBUCTEP 05.05.2017 15:51

Цитата:

Сообщение от laimas (Сообщение 451718)
А зачем выбор из предложенного помещать в другое поле, а не в то, в котором ввод?

Просто есть форма для ввода данных. Форма заполняется методом ввода данных, которые почти все есть в БД (кроме 3 полей). Что бы не заполнять все поля, можно упростить, авто заполнением при совпадении наименования товара и фамилии заказчика.

laimas 05.05.2017 16:26

Очень туманно. То что описано называется "живым поиском" и обычно отображается под элементом ввода посредством списка UL, а не параграфов. Делаем ввод, предлагается список из найденных совпадений ведь для того поля в котором был ввод. Значит логично выбор в списке помещает выбранное в поле ввода.

А если с выбором связаны и другие данные, то эти данные также должны быть возвращены сервером и помещаться уже в иные поля.

А так ничего не понять. Пример данных возвращаемых сервером, как они связаны, и что во что помещать можно привести?

TBUCTEP 05.05.2017 16:40

Да список оформлен через ul, внутри li находятся вложенные параграфы p.
Есть 2 таблицы БД. В одной находятся данные с товаром и фирмой производителем, в другой данные о пользователях.
На страницу отображается 7 полей для ввода. 2 поля это наименование и фирма товара. Когда вводятся данные о наименовании товара выпадает список, поле фирмы производителя должно автоматически заполняться из БД. (Не знаю как сделать эту функцию).
Так же должно при заполнении поля фамилии из 2й таблицы, так же из выпадающего списка после ввода нескольких символов, должно заполнятся поле с именем.

laimas 05.05.2017 16:54

Цитата:

Сообщение от TBUCTEP
2 поля это наименование и фирма товара. Когда вводятся данные о наименовании товара выпадает список, поле фирмы производителя должно автоматически заполняться из БД.

То есть, вводим именования товара, а получаем производителей? Допустим, ввели три символа названия, получили производителей, выбрали производителя, и поместили выбор поле производителя. Но а кто будет заполнять именование товара? Кстати зачем?

Цитата:

Сообщение от TBUCTEP
Так же должно при заполнении поля фамилии из 2й таблицы

То есть вы фактически раскрываете личные данные своих пользователей для всех?

TBUCTEP 06.05.2017 14:10

Цитата:

Сообщение от laimas (Сообщение 451727)
То есть, вводим именования товара, а получаем производителей? Допустим, ввели три символа названия, получили производителей, выбрали производителя, и поместили выбор поле производителя. Но а кто будет заполнять именование товара?

В первое поле должно вводиться наименование товара. При совпадении 3+ символов с БД, внизу появляется список совпадений. При нажатии на конкретный элемент списка, в 1е поле должно вставляться значение этого списка. А во второе автоматически подставляться из БД значение фирмы производителя.



Цитата:

Сообщение от laimas (Сообщение 451727)
То есть вы фактически раскрываете личные данные своих пользователей для всех?

Данная форма будет использоваться только для собственного учета. Данные не будут выкладываться в интернете. Доступ к ней будет иметь только администратор сайта для учета.

TBUCTEP 06.05.2017 14:26

Ладно упростим задачу. Как сделать что бы при нажатии на элемент списка, данные подставлялись в значение input’a?
Часть кода php с элементом который совпал.

echo '
<li><p class="search-result" id="title-result" tii="'.$row["id"].'">'.$row["title"].'</p></li>
';


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