目前我有这个自动完成选项:
<script type="text/javascript">
$().ready(function () {
$("#tags").autocomplete(["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "pearl"], {
width: 320,
max: 4,
highlight: false,
multiple: true,
multipleSeparator: " ",
scroll: true,
scrollHeight: 300
});
});
</script>
<body> <p>
<label>Tags (local):</label>
<input type="text" id='tags' />
</p>
</body>
但我想从一个动作方法中获取这个数组:[“c ++”,“java”,“php”,“coldfusion”,“javascript”,“asp”,“ruby”,“python”,“ c“,”scala“,”groovy“,”haskell“,”pearl“]。例如,从控制器“搜索”中的动作“快速搜索”。
这样的事情:
public ActionResult QuickSearch(string term)
{
IEnumerable<string> list = test();
return Json(list, JsonRequestBehavior.AllowGet);
}
有什么建议吗?
答案 0 :(得分:0)
是的,您可以将URL放到action方法中,该方法将数据源作为“source”参数返回到自动完成功能。来自文档:
数据源可以是:
答案 1 :(得分:0)
你几乎在那里:
<script type="text/javascript">
$().ready(function () {
$("#tags").autocomplete({
source: "URL to your method"
width: 320,
max: 4,
highlight: false,
multiple: true,
multipleSeparator: " ",
scroll: true,
scrollHeight: 300
});
});
</script>
您需要将一个源属性添加到传入的options对象中,该源可以是数组,回调,或者在您的情况下是方法的URL。
来自根目录的相对网址是“搜索/快速搜索”