【问题标题】:Pre-populating jQuery Autocomplete with data使用数据预填充 jQuery Autocomplete
【发布时间】:2012-04-28 18:13:04
【问题描述】:

使用默认功能:

<script>
    $(function() {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "Scheme"
        ];
        $( "#tags" ).autocomplete({
            source: availableTags
        });
    });
</script>

<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags" />
</div>

我想知道如何使用 Java 中的字符串数组预先填充 availabletags,而不是手动输入每个标签?所以,当我输入时,它会提示一个列表。

【问题讨论】:

  • 我已经有一段时间没有研究 Java,Mike,但我相信这个概念是您应该构建数组并将其回显/打印到您的标记中 availableTags 所在的位置(或而是在哪里定义的)。然后,当页面构建时,javascript 应该有它需要的东西。查看源代码以了解它是否成功。
  • @veeTrain 应该是一个答案
  • 迈克,您是否通过其中一个答案找到了解决方案,或者您的问题仍未解决?
  • veeTrain,它仍未解决。我实际上已经不知道如何从给定的答案中做到这一点。

标签: java javascript jquery


【解决方案1】:

我相信这个概念是您应该构建数组并将其回显/打印到您的标记中 availableTags 所在的位置(或者它被定义的位置)。然后当页面构建完成时,javascript应该有它需要的东西。

查看源码看看是否成功。

var availableTags = [ /* output a comma-separated and quoted list */ ];

抱歉,我不确定语法,但我相信这是您应该采用的方法。

编辑:这个anonymous person 认为您可能需要使用javascript eval() 来使其适合javascript。 (但在下面的cmets中是不鼓励的)

编辑:这是another Stack Overflow post 提出的类似问题,可能会对您有所帮助。还有another

This 似乎也可以帮助您。

【讨论】:

  • 不用eval(),eval是邪恶的。
【解决方案2】:

在选择的模板文件(JSP、Freemarker 等)中编写 javascript。

如果您想将 javascript 的其余部分保存在外部文件中,或者只需在模板文件中写入 availableTags 变量。一定要正确命名它,不要污染全局命名空间。

【讨论】:

    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2015-06-16
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多