我想让脚本从逗号分隔的字符串中显示值列表中的每个项目。
前任。“一二三四”
在自动完成下拉菜单中,它应该显示:
一二三四
但是,当前代码中,仅显示单个字符的列表。应该有一种简单的方法来拆分该列表并显示单词而不是字符。我的javascript有点有限,如果有人能帮我弄清楚,我将不胜感激。谢谢。我一直在搜索并知道您应该能够覆盖 parse 函数,但它必须比这更容易。此外,我正在使用 web 服务来返回字符串,并且可以用任何东西分隔,但它需要显示单词。
如果有人知道答案,我将不胜感激......谢谢
$("#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(","));
}));
},
以上似乎工作并显示了我想要的,不确定它是否有效。如果有人想解释为什么?不知道为什么在某些情况下你需要一个 response() 和/或一个 return 才能使自动完成工作......