JQuery Автозаполнение скрытого поля - PullRequest
2 голосов
/ 14 января 2010

Я получил помощь по первой части моей проблемы здесь , кого бы я ни забыл упомянуть о своей второй проблеме. После того как пользователь выберет значение из поля автозаполнения, я хотел бы заполнить идентификатор паролей в скрытом поле, чтобы его можно было передать в PHP и вставить в базу данных.

Вот разбивка того, что я пытаюсь сделать:

  1. Пользователь выбирает место из поля автозаполнения.
  2. После выбора места проведения мероприятия телефон, адрес и веб-сайт отображаются под полем автозаполнения. Идентификатор записи в базе данных передается в скрытое поле в качестве значения.

У меня есть поиск, но ничего не найдено. Может ли кто-нибудь привести меня в правильном направлении?

Спасибо

Ответы [ 2 ]

6 голосов
/ 14 января 2010

Я предполагаю, что вы используете стандартный плагин автозаполнения: http://docs.jquery.com/Plugins/Autocomplete

Если у вас есть это в вашем HTML:

<input type='text' id='foo' />
<input type='hidden' id='bar' />

Вы захотите использовать это как свой javascript:

$(document).ready(
function(){
    var data = "1,address 1,phone 1|2,address 2,phone 2".split('|');
    $("#foo").autocomplete(data,{formatItem:function(item){
        return item[0].split(',').slice(1).join(' ');}
    }).result(function(event,item){
        $("#bar").val(item[0].split(',')[0]);
    });
});

Что вы делаете, это:

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

Дайте мне знать, если это поможет.

2 голосов
/ 21 марта 2012

Попав в эту кирпичную стену, я думаю, с некоторой помощью здесь я нашел еще более простое решение

  $("#fieldA").autocomplete({
    source: '<%=Url.Action("functionName", "ControllerName") %>',
    select: function(e,ui) { $('#fieldB').val(ui.item.objectName) }, 
  });

fieldA выполняет автозаполнение из исходного файла. Я использую ASP.net MVC, который принимает functionName внутри ControllerName (конечно, вы можете просто вставить URL-адрес веб-ссылку, которую вы хотите, а). Веб-страница возвращает список строк, разбитых на отдельные поля элементов. Единственным ограничением является то, что в одном из возвращенных полей указано « значение ». Затем функция select позволяет вам отделить все другие поля (имя объекта в конце ui.item) от объекта ui.item и поместить в столько полей, сколько вам нужно, в то время как значение « * 1022» * "из ui.item.value автоматически заполняет поле автозаполнения.

...