1

目前我有这个自动完成选项:

<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);
        }

有什么建议么?

4

2 回答 2

0

是的,您可以将 URL 放入将数据源作为“源”参数返回给自动完成功能的操作方法。从文档中:

数据源可以是:

  • 包含本地数据的数组
  • 一个字符串,指定一个 URL
  • 回调
于 2012-06-18T17:29:28.707 回答
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>

您需要向传入的选项对象添加一个源属性,该源可以是一个数组、一个回调,或者在您的情况下是一个方法的 URL。

来自根的相对 URL 将是“搜索/快速搜索”

于 2012-06-18T17:52:08.760 回答