У меня есть окно поиска в моем приложении, которое использует плагин jQuery UI Autocomplete для отображения списка пользователей в системе на основе фамилии из удаленного источника данных.
Когда пользователь щелкает из списка автозаполнения, я бы хотел, чтобы браузер перенаправлял на отдельную страницу этого пользователя (на основе параметра GET). Однако параметром GET для страницы пользователя является идентификатор пользователя, отличающийся от отображаемых значений last_name, first_name.
Как мне вставить «идентификатор» пользователя в параметр GET, по-прежнему отображая значения имени и фамилии в раскрывающемся списке?
Я видел похожие вопросы, задаваемые здесь, но ни одного при использовании удаленного источника данных.
Любая помощь, которую вы можете оказать, будет потрясающей!
Javascript:
$(document).ready(function() {
$( ".user_autocomplete" ).autocomplete({
source: "../../db/users.php",
minLength: 0,
focus: function (event, ui) {
this.value = ui.item.value;
},
}).bind( "autocompleteselect", function(event, ui) {
window.location.href = "/users/index.php?id=" + this.value;
});
});
Удаленный источник данных (users.php)
<?php
$return_arr = array();
if(isset($_GET['term'])) {
$mysearchString = $_GET['term'];
}
$sth = $dbh->query("SELECT id, first_name, last_name FROM users
WHERE last_name LIKE '$mysearchString%'
ORDER BY last_name");
while ($row = $sth->fetch ()) {
$row_array = $row['last_name'].', '.$row['first_name'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
?>