jQuery UI Autocomplete附加PHP和MySQL

时间:2014-11-26 19:11:05

标签: javascript php jquery mysql autocomplete

我有一个小问题,我相信,我找不到错误......

我所拥有的是一个简单的表单,它使用自动完成功能在数据库中查找内容,这仅适用于FIRST(默认)输入字段。

我想要它做的是"重新初始化"关于附加输入的自动完成,但似乎我无法管理它,并且我已经尝试了谷歌...(很多可能会说:))。

这是JS部分。

$(function() {
        var i=0;
        var autocomp_opt={
                source: "functions.php",
                minLength: 3,

            }
                $(".itemname").on("keydown.autocomplete", function() { // this one works
                    $(this).autocomplete(autocomp_opt);
                });
                $(".itemname["+i+"]").on("keydown.autocomplete", function(){ // doesnt work
                    $(this).autocomplete(autocomp_opt);
                });

                $(".addfield").click(function(e){ //on add input button click
                    i++;
                     e.preventDefault();
                    $("#createList").append('<br /><input type="text" name="itemname['+i+']" class="itemname['+i+']" placeholder="Livsmedel" />');//add input box
                });
});

以下是表格:

            <form method="post" id="createList" action="create.php" class="pure-form" >
                <input type="text" name="itemname[0]" class="itemname" placeholder="Livsmedel" />
                <input type="text" name="amount" style="display:none" class="amount" placeholder="">
                <input type="text" name="unit" class="unit" />
                <button type="button" class="addfield" />+</button>
                <button type="submit" class="pure-button pure-button-primary" name="insert">Lägg in</button>
            </form>

错误应该很简单,但我找不到:(

1 个答案:

答案 0 :(得分:0)

很高兴这个链接有所帮助。我也有一个解决方案。看起来你很接近,但因为i没有增加,你的第二个功能(一个不工作)失败了。

我在这里工作:http://jsfiddle.net/gd7qke4v/2/

我所做的是将您的基本autocomplete调整为:

$(document).on("keydown", ".itemname", function () {
    //$(this).autocomplete(autocomp_opt);
    $(this).nextAll('input[name="unit"]').val('query result'); // here instead of val, use your autocomplete().   
});

autocomplete绑定到文档,查找.itemname处于活动状态/ keydown,然后查找名称为unit的下一个输入。只需将.val替换为您的.autocomplete(autocomp_opt),就应该设置它。