jQuery v1.2.6
Плагин jQuery.autocompleter v1.1pre (с сайта jQuery)
Я не могу отправить "type:" POST "обратно в мой веб-сервис. Я не могу заставить его распознаваться автозаполнением. Мысли? * * 1005
Этот код работает нормально, пока я ищу строку запроса "q". Но я хотел бы использовать это для более продвинутых функций в будущем, передав больше параметров, и был бы признателен за отправку сообщений с помощью автозаполнения.
Мне известна опция extraParams. Но это дополнительные параметры, которые передаются через GET или POST (если мы можем заставить работать POST). Это не меняет его, чтобы отправить как POST.
$(function() {
$('#searchBox').autocomplete(
"/services/college.asmx/lookupColleges",
{
delay: 5,
minChars: 1,
matchSubset: 1,
matchContains: 1,
cacheLength: 10,
autoFill: false,
dataType: 'json',
parse: function(data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = {
data: data[i]
, value: data[i].Data
, result: data[i].Name
};
}
return rows;
},
formatItem: function(row, i, n) {
return row.Name;
}
}).result(function(event, row) {
processSelection(this, row.Data);
});
});
Я попытался добавить опцию для POST, как отмечено в примере кода ниже. Но это все еще представляется как GET.
delay: 5,
minChars: 1,
matchSubset: 1,
matchContains: 1,
cacheLength: 10,
autoFill: false,
dataType: 'json',
type: 'POST',
Любая помощь приветствуется.
Спасибо!
PS, многие из них недокументированы, и это было PITA, чтобы выяснить после проб и ошибок. Слава Богу за Firebug.
Вы заметите, что я:
- получение JSON от веб-службы
- Автозаполнение не может обрабатывать JSON изначально, поэтому я должен разобрать его в свой собственный массив.
- Поскольку сейчас я передаю обратно объект массива, formatItem необходимо перезаписать, чтобы обработать новый объект массива для целей отображения.
- И, наконец, снимок денег, я хочу обработать дополнительные данные в этой строке после того, как пользователь выберет строку (щелчок мышью или TAB или клавишу ВВОД). Я делаю это с делегатом result ().
Я действительно надеюсь, что приведенный выше код поможет другим в будущем разобраться и с автозаполнением. Проголосуй, если получится.
Совет: Имена свойств data [i] .Data и data [i] .Name являются именами свойств JSON.