【发布时间】:2018-01-01 02:29:56
【问题描述】:
我正在开发一个自动完成功能,它在我的家庭控制器上调用一个方法,javascript 调用该方法并返回数组。但是,这些值不会显示在文本框下拉列表中,什么也不会。
如果我使用直接数组作为源并且不调用主控制器,那么它就可以正常工作。
我没有看到我在这里缺少什么,所以我缩小了家庭控制器方法的范围,只是为了返回一个不使用逻辑的数组,直到我解决了这个问题。
家庭控制器方法:
public string[] GetPatientName()
{
var names = new List<string> { "Bent","Boon","Book", "Al", "Cat", "Doe", "Ed", "Fox", "George" };
return names.ToArray();
}
Javascript:
<script language="javascript" type="text/javascript">
$(function() {
$('#tags').autocomplete({
source: function(request, response) {
$.ajax({
url: "/Home/GetPatientName",
data: "{ 'pre':'" + request.term + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function(data) {
response($.map(data.d,
function (item) {
alert(item);
return { value: item }
}));
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
delay: 0
});
});
</script>
HTML
<form>
<input id="tags" type="text" />
</form>
【问题讨论】:
标签: c# asp.net-mvc asp.net-core jquery-ui-autocomplete asp.net-core-2.0