【问题标题】:using an array as a source in autocomplete在自动完成中使用数组作为源
【发布时间】:2013-07-03 21:46:45
【问题描述】:

我似乎无法让它工作,我也尝试过使用字符串和字符串列表,但我也没有任何运气。

@{
    List<string> yyy = new List<string>();
    foreach (var x in Model)
    {
        yyy.Add(x.Name);
    }
    string[] myArray = yyy.ToArray();
}

<script>
$(function() {
    var availableTags = @myArray;
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>

我得到的错误:

JavaScript critical error at line 70, column 39 in http://localhost:42697/Units

SCRIPT1002: Syntax error

在它显示的代码中:

<script>
$(function() {
    var availableTags = System.String[];
$( "#tags" ).autocomplete({
source: availableTags
});

我在这里做错了什么?

【问题讨论】:

    标签: c# jquery asp.net-mvc autocomplete


    【解决方案1】:

    尝试将您的数组编码为 json:

    <script>
    $(function() {
        var availableTags = @Html.Raw(Json.Encode(myArray));
        $( "#tags" ).autocomplete({
            source: availableTags
        });
    });
    </script>
    

    应该是这样的:

    <script>
    $(function() {
        var availableTags = ["name1", "name2", "name3", etc];
        $( "#tags" ).autocomplete({
            source: availableTags
        });
    });
    </script>
    

    【讨论】:

    • 非常感谢。在过去的 2 个小时里,我认真地尝试让这个小东西以 100 种不同的方式工作,但没有任何效果。你是救生员。
    【解决方案2】:
    <script>
    $(function() {
    var availableTags = =[<%foreach (var s in myArray){%>'<%=s%>',<%}%>];
    $( "#tags" ).autocomplete({
        source: availableTags
    });
    });
    </script>
    

    【讨论】:

      猜你喜欢
      • 2013-11-11
      • 2012-03-09
      • 2012-12-01
      • 1970-01-01
      • 2020-06-03
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多