【问题标题】:Jquery Many autocompletes on the same pageJquery在同一页面上的许多自动完成
【发布时间】:2012-10-26 15:47:14
【问题描述】:

我正在尝试在 jsp 上制作的公式上实现 Jquery 的自动完成功能。

我对一个 textarea 没有任何问题,但对其中的许多都做不到。

这是我页面的代码: 我使用推送来创建列表,因为数据是从 Java bean 导入的。这段代码是应用程序运行后创建页面并用CTRL-U捕获的结果。

        <script>
        $(function()
        {
            var TagsEntis = new Array();

                TagsEntis.push("MAIRIE");

                TagsEntis.push("COMMUNAUTE URBAINE");

                <!--Others pushs here-->

            $( "#tagsentis" ).autocomplete({source: TagsEntis});
        });
        </script>
        <script>
        $(function()
        {
            var TagsNames = new Array();

                TagsNames.push("CAPILLON");

                TagsNames.push("DUFOUR");

                TagsNames.push("STARON");

                <!--Others pushs here-->

            $( "#tagsnames" ).autocomplete({source: TagsNames});
        });
        </script>

在使用这些标签定义文本区域之后:

           <form method="post" action="form.htm" name="formulary">
                <table id="formulary">
                   <tr>
                        <td>
                            Entity
                        </td>
                        <td>
                            <spring:bind path="PersonForm.entity">
                                <input id="tagsentis" type="text" name="entity"
                                       value=""/>
                            </spring:bind>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            LastName
                        </td>
                        <td>
                            <spring:bind path="PersonForm.lastname">
                                <input id="tagsnames" type="text" name="lastname"
                                       value=""/>
                            </spring:bind>
                        </td>
                    </tr>

此代码有效,但仅适用于姓氏文本区域。

你能帮帮我吗?

提前非常感谢您;)

【问题讨论】:

  • 您是否查看了控制台并检查了任何错误?据我所知,两者都应该没问题。虽然如果将数组定义为 var TagsNames = ["CAPILLLON","DUFOUR","STARON",...]; 会节省空间而不是声明一个新数组并将每个元素推入数组。
  • 你用jqueryui.com/autocomplete这个自动补全插件吗?
  • 感谢您的回答,我刚刚发现了问题:参数是从 Java bean 动态导入的。但是其中一些非常长,并且在生成的 html 页面上放置了很多行,这会产生错误。

标签: jquery html jquery-ui autocomplete


【解决方案1】:

您可以在此处找到demo of 2 autocomplete input-fields(不是 textarea)。 您能否给 es 更多数据说明它是如何不工作的。 java-script console 中是否有任何错误

$(function() {
    var availFirstNames = [
        "Adam", "Anna", "Anita",
        "Bert", "Bob", "Chuck", "Claudia", "Douche", "Ernie",
        "Gib", "Henry", "Jesus", "John", "Lisp", "Perl",
        "PHP", "Python", "Ruby", "Scala", "Scheme"
    ];
    var availLastNames = availFirstNames;
    $( "#FirstName" ).autocomplete({
        source: availFirstNames
    });
    $( "#LastName" ).autocomplete({
        source: availLastNames
    });        
});

还有 HTML

<div class="ui-widget">
    <label for="tags">Names: </label>
    <input id="FirstName" />
    <input id="LastName" />
</div>​

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2013-02-05
    • 2011-01-31
    相关资源
    最近更新 更多