У меня есть поле поиска, в котором используется автозаполнение jquery. В этом текстовом поле, в котором указывается список имен сотрудников, предложенных автозаполнением. Но когда моя форма отправлена, я не хочу, чтобы имя человека отправлялось вместе с формой, я хочу, чтобы идентификатор сотрудника отправлено с формой. Как я могу это сделать?
$( "#tags" ).autocomplete({
source: array
});
Это сценарий, который я использовал. И массив выглядит
array= [{"a",1},{"b",2},{"c",3}.........]
Пожалуйста, помогите мне. Спасибо заранее.
Код JS:
var data = {
json: "{\"employee\":[{\"value\":\"A\",\"id\":\"1\"},{\"value\":\"B\",\"id\":\"2\"},{\"value\":\"C\",\"id\":\"3\"}]}"
}
$(function () {
$('#submit').click(function(){
alert('Employee name = '+$('#employee_name').val()+' Employee id = '+$('#employee_id').val());
});
$.ajax({
url:"/echo/json/",
data: data,
type: "POST",
success:function(data) {
console.log(data);
var arr = data.employee;
$("#employee_name").autocomplete({
minLength: 0,
source: arr,
select: function (event, ui) {
$("#employee_name").val(ui.item.value);
$("#employee_id").val(ui.item.id);
return false;
}
});
}
});
});
Код HTML:
<form>
Employee name (Type like "A" or "B" or "C")<br>
<input id="employee_name" name="employee_name">
<br>
Selected Employee id (hidden field):
<input type="text" id="employee_id" name="employee_id" readonly>
<br>
<input type="button" value="Submit" name="submit" id="submit" onclick="check_fields()">
Если у вас есть несколько значений в текстовом поле автозаполнения, вам необходимо сохранить его в массиве и передать его через серверную часть
var ids = [];
$('#id').autocomplete({
select: function( event, ui ) {
ids.push( ui.item.value );
});
});
массив идентификаторов будет содержать все выбранные идентификаторы сотрудников, аналогично вам также придется удалить этот идентификатор из этого массива, если пользователь отменит выбор сотрудника из текстового поля автозаполнения
Попробуйте использовать JSON-объект, подобный этому
array = [
{label: "a", value: 1},
{label: "b", value: 2}
]
Поле назовет это текст, который пользователь увидит, и значение - id. Также вы можете использовать другие файлы, такие как category
, desc
, icon