我正在尝试编写我的第一个jQuery自动完成示例。我需要能够从自动完成中选择多个值,因此我使用了here提供的示例。
无论我做什么,当我输入“c”,“ch”等时,我无法让文本框显示值“鸡”和“鸡”等。我做错了什么?
我的控制器有这个动作方法
public JsonResult GetBirds()
{
var result = new JsonResult
{
Data = new
{
Birds = new List<string> {"chicken", "chickens"}
},
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
return result;
}
我的前端代码就是这样:
<script>
$(function () {
function log(message) {
$("<div/>").text(message).prependTo("#log");
$("#log").scrollTop(0);
}
$("#birds").autocomplete({
source: "/Results/GetBirds",
minLength: 1,
select: function (event, ui) {
log(ui ?
"Selected: " + ui :
"Nothing selected, input was " + this.value);
}
});
});
</script>
<div class="demo">
<div class="ui-widget">
<label for="birds">Birds: </label>
<input id="birds" />
</div>
<div class="ui-widget" style="margin-top:2em; font-family:Arial">
Result:
<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
</div>
</div><!-- End demo -->
答案 0 :(得分:0)
使用Rest Clint或Firebug Firefox插件查看从控制器返回的内容。
试试这个:
返回Json(new {“chicken”,“chickens”},JsonRequestBehavior.AllowGet);
答案 1 :(得分:0)
答案 2 :(得分:0)
您的来源格式不正确,请忘记您的#34; Birds&#34;键入json结果。请跟:
Data = new List<string> {"chicken", "chickens"}
或
Data = new Dictionary<string, string> {
{"chiken", "value1"},
{"chikens", "value2"},
};