Как предвкушать виджет автозаполнения jQuery ui?
-
05-10-2019 - |
Вопрос
У меня есть автозаполненный виджет jQuery ui в форме, и я хочу предложить его значение из базы данных. Мои автозаполные работы следующими способом: ID - это число, Tha Label, а значение одинаковы и являются конкатенацией ID + "-" + Описание. Когда выбрано значение из автозаполнения, значение скрытого поля устанавливается на значение ID. Затем значение скрытого поля сохраняется в дБ, когда форма подана. Когда пользователь возвращается на страницу для редактирования, мне нужно перезагрузить значение из БД: я снова установил значение поля Idden, а затем я хотел бы предварительнокомпилировать значение виджета автозаполнения с помощью Concatenation ID + "-" + Описание принято образуют БД. Я думаю, что я должен вызвать событие выбора строки в автозаполнении, но я не знаю, как это сделать. У тебя есть идеи? Спасибо, вот код автозаполнения:
$('#codice_contratto').autocomplete({
source: 'do_contratto.php',
select: function(event, ui) {
$('#id_contratto').val(ui.item.id);
}
});
Решение
В Server-Side код, который возвращает страницу для редактирования, я бы рекомендовал просто установить значение как текстового поля с автозаполнением, так и скрытым полем в соответствии с их правильными значениями, как его возвращается с сервера. Это будет решение для сервера, и ваш HTML будет выглядеть что-то подобное:
<input type="textbox" id="condice_contratto" value="1 - the description" />
<input type="hidden" id="id_contratto" value="1" />
Плагин автозаполнения jQuery изящно работает, когда значение элемента предустановлена. Там не совсем понятие «выбрать» элемент в нем по SE. Он просто едет на верхней части текстового ящика и устанавливает его значение с множеством модных пользовательских интерфейсов.
Если вам требуется решение для клиента, просто сделайте что-нибудь подобное:
$(document).ready(function() {
$('#condice_contratto').val(current_id + ' - ' + current_description);
$('#id_contratto').val(current_id);
}
Это предполагает, что переменные Current_ID и Current_description установлены на их правильные значения.