2010-05-31 4 views
1

У меня есть виджет автозаполнения jquery ui в форме, и я хотел бы предварительно выбрать его значение из базы данных. Мой автозаполнение работает следующим образом: id - это число, метка и значение одинаковы и являются конкатенацией описания id + "-" +. Когда выбрано значение из автозаполнения, значение скрытого поля устанавливается на значение id. Затем значение скрытого поля сохраняется в db при отправке формы. Когда пользователь возвращается на страницу для редактирования, мне нужно перезагрузить значение из db: я снова задал значение поля idden, а затем я хотел бы предварительно скомпилировать значение виджета автозаполнения с конкатенацией id + "- "+ описание взято из db. Я думаю, что я должен инициировать событие выбора строки в автозаполнении, но я не знаю, как это сделать. У тебя есть идеи? Спасибо Вот код автозаполнения:Как прекомпилировать виджет автозаполнения jquery ui?

$('#codice_contratto').autocomplete({ 
    source: 'do_contratto.php', 
    select: function(event, ui) { 
       $('#id_contratto').val(ui.item.id); 
      } 
}); 

ответ

0

В серверном коде, который возвращает страницу для редактирования, я бы рекомендовал просто установив значение как текстового поля с автозаполнением, а также скрытым поле к их правильным значениям, так как оно возвращается с сервера. Это было бы на стороне сервера решение, и ваш HTML будет выглядеть примерно так:

<input type="textbox" id="condice_contratto" value="1 - the description" /> 
<input type="hidden" id="id_contratto" value="1" /> 

JQuery автозаполнения плагин работает корректно, когда значение элемента предустановлен. На самом деле нет понятия «выбор» предмета в нем. Он просто ездит поверх текстового поля и устанавливает его значение с большим количеством причудливого пользовательского интерфейса.

Если вам требуется на стороне клиента решение, просто сделать что-то вроде этого:

$(document).ready(function() { 
    $('#condice_contratto').val(current_id + ' - ' + current_description); 
    $('#id_contratto').val(current_id); 
} 

Это предполагает, что переменные current_id и current_description установлены в правильные значения.

Смежные вопросы