Я связываю автозаполнение jQuery-ui с несколькими элементами на моей странице, так как я хочу иметь автозаполнение с помощью тот же набор опций в разных полях. Что-то вроде:jQuery-ui/auto-complete/getJSON - как передать идентификатор элемента во внешний PHP
<input class='myclass' id='myid1' name='field1' type='text' />
<input class='myclass' id='myid2' name='field2' type='text' />
<input class='myclass' id='myid3' name='field3' type='text' />
Я использую "Multiple Remote" вариант из JQuery-UI автозаполнения, так что Javascript выглядит примерно так:
$(".myclass")
// don't navigate away from the field on tab when selecting an item
// don't navigate away from the field on tab when selecting an item
.bind("keydown", function(event) {
if (event.keyCode === $.ui.keyCode.TAB &&
$(this).data("autocomplete").menu.active) {
event.preventDefault();
}
})
.autocomplete({
source: function(request, response) {
$.getJSON("search.php"
,{ term:extractLast(request.term) }
,response);
},
search: function() {
// custom minLength
var term = extractLast(this.value);
if (term.length < 1) {
return false;
}
},
focus: function() {
// prevent value inserted on focus
return false;
},
select: function(event, ui) {
var terms = split(this.value);
// remove the current input
terms.pop();
// add the selected item
terms.push(ui.item.value);
// add placeholder to get the comma-and-space at the end
terms.push("");
this.value = terms.join(", ");
return false;
}
});
Это все работает очень хорошо. Но я хочу передать id как второй параметр getJSON. Как я могу это сделать?
Я знаю, как добавить второй параметр в заявлении $ .getJSON, но я не в состоянии захватить «идентификатор» триггера событий. Я попробовал $ (это) .attr ('id'), но он дал мне undefined. Какие-либо предложения?
Спасибо.
Он отлично работает. большое спасибо –