2017-02-20 20 views
0

Идея состоит в том, что пользователь может ввести фамилию ИЛИ соответствующий идентификатор, и каждое поле запроса на поставку будет выглядеть как «Фамилия - Идентификатор» See this picture, но когда пользователь выбирает какой-либо элемент из списка, только одно значение (Фамилия) будет выбран.jQuery automcplete: Как предложить 2 значения, но выберите только один из них?

Я успешно реализовал часть с двумя предложенными значениями, но когда я выбираю один элемент, выбираются как фамилия, так и ID. Что я могу изменить, чтобы выбрать только одно значение в текстовое поле (Фамилия), но оставить 2 предложенных значения? Вот фрагмент кода:

$select =mysqli_query($conn, "SELECT * FROM seamstress WHERE surname LIKE '%".$searchTerm."%' OR seamstress_id LIKE '%".$searchTerm."%'"); 

while ($row=mysqli_fetch_array($select)) { 
    $data[] = $row['surname']. ' '.$row['seamstress_id']; 
} 
echo json_encode($data); 
+0

изменить свой поисковый запрос, чтобы указать либо идентификатор, либо фамилию. Затем в вашем запросе проверьте, извлекает ли какой-либо из них результат до повторения ответа – Akintunde007

ответ

0

При инициализации вам массив как этот $data[] = $row['surname']. ' '.$row['seamstress_id'];, используя точку вы конкатенации 2 значения вместе в индекс 0 массива, вы должны использовать запятую «» отделить между значениями и поместите их в разные индексы, такие как $data[] = $row['surname'] , $row['seamstress_id'];. Если в избранных вы хотите, чтобы показать как фамилия и идентификатор в одной и той же линии, но получить только значение фамилии, вы можете инициализировать массив как это (в PHP)

$data = arry( $row['surname'] => $row['surname']. ' '.$row['seamstress_id'], $row['seamstress_id'] => $row['seamstress_id'] );

Вы можете найти больше примеров и информация here