Я хочу, чтобы скрипт отображал каждый элемент в списке значений из строки набора с разделителями-запятыми.
бывший. "один два три четыре"
В раскрывающемся списке автозаполнения должно отображаться:
один два три четыре
Однако текущий код показывает список только одного символа. Должен быть простой способ разделить этот список и отобразить слово вместо char. Мой javascript немного ограничен, если кто-то может понять это для меня, я был бы признателен. Спасибо. Я искал вокруг и знаю, что вы должны иметь возможность переопределить функцию синтаксического анализа, но это должно быть проще. Кроме того, я использую веб-сервис для возврата строки и может быть ограничен чем угодно, но для этого нужно показать слово.
Если кто-нибудь знает ответ, я был бы признателен ... спасибо
$("#CustomerID").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
url: "/customer/search.asmx/findvalue",
dataType: "json",
data: {
term: request.term
},
error: function(xhr, textStatus, errorThrown) {
alert('Error: ' + xhr.responseText);
},
success: function(data) {
response($.map(data, function(item) {
return {
label: item,
value: item
}
}));
}
});
},
minLength: 2,
select: function(event, ui) {
alert('Select');
}
});
РЕДАКТИРОВАТЬ----------------------
Спасибо предыдущему автору за помощь в ответах.
Вроде нюансы форматирования что ли.
Это работает:
success: function (data) {
response($.map(data, function (item) {
return item.split(",");
}));
},
Использование этого, кажется, просто выдает ошибку или ничего не делает:
success: function(data) {
response(data.split(","));
}
Я даже пробовал это, он проходит, но не приводит к выпадающему меню:
success: function (data) {
response($.map(data, function (item) {
response(item.split(","));
}));
},
Кажется, что вышеприведенное работает и отображает то, что я хочу, но не уверен, что это эффективно. Если кто-то хочет объяснить, почему? Не уверен, почему в некоторых случаях вам понадобится ответ() и/или возврат, чтобы автозаполнение работало....
:)
24.10.2011