Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery ui自动完成不填充_Javascript_Jquery_Jquery Ui_Jquery Ui Autocomplete - Fatal编程技术网

Javascript Jquery ui自动完成不填充

Javascript Jquery ui自动完成不填充,javascript,jquery,jquery-ui,jquery-ui-autocomplete,Javascript,Jquery,Jquery Ui,Jquery Ui Autocomplete,我不熟悉JQuery和JQuery UI 我在一个具有动态行的表中使用带有远程json的autocomplete。 问题是:一切正常,但由于某些原因,输入的code没有填充。 奇怪的是,如果我在选择区域中硬编码#code0或#code1,它就会工作。 但在select中似乎无法识别#code+i。另一件奇怪的事情是$(“#产品”+i)工作 有人能帮助JS初学者吗 $(document).ready(function(){ var i=0; $("#add_row").click(

我不熟悉JQuery和JQuery UI

我在一个具有动态行的表中使用带有远程json的
autocomplete

问题是:一切正常,但由于某些原因,输入的
code
没有填充。
奇怪的是,如果我在选择区域中硬编码
#code0
#code1
,它就会工作。
但在select中似乎无法识别
#code+i
。另一件奇怪的事情是
$(“#产品”+i)
工作

有人能帮助JS初学者吗

$(document).ready(function(){
    var i=0;
    $("#add_row").click(function(){
        $('#addr'+i).html("<td>"+ (i+1) +"<\/td><td><input id='product"+i+"' name='product"+i+"' type='text' placeholder='Digita il codice o il nome del prodotto' class='form-control input-md'  /> <\/td><td><input id='code"+i+"'  name='code"+i+"' type='text' placeholder='Codice'  class='form-control' readonly='readonly'><\/td>");
        $('#tab_logic').append('<tr id="addr'+(i+1)+'"><\/tr>');
        $("#product"+i).autocomplete({
            source: function( request, response ) {
            $.ajax({
                url: "productsearch.php",
                dataType: "json",
                data: {term: request.term},
                success: function(data) {
                            response($.map(data, function(item) {
                            return {
                                label: item.text,
                                id: item.id,
                                code: item.id
                                };
                        }));
                    }
                });
            },
            minLength: 2,
            select: function(event, ui) {
                var codice="$code"+i;
                $('#codice').val(ui.item.id);
            }
        });

      i++;
    });
    $("#delete_row").click(function(){
        if(i>1){
            $("#addr"+(i-1)).html('');
            i--;
        }
    });

    $("#product"+i).autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "productsearch.php",
                dataType: "json",
                data: {term: request.term},
                success: function(data) {
                            response($.map(data, function(item) {
                            return {
                                label: item.text,
                                id: item.id,
                                code: item.id
                                };
                        }));
                    }
                });
            },
            minLength: 2,
            select: function(event, ui) {
                $("#code"+i).val(ui.item.id);
            }
        });
        i++;
    });
});
$(文档).ready(函数(){
var i=0;
$(“#添加_行”)。单击(函数(){
$('#addr'+i).html(“+(i+1)+”);
$('#tab_logic')。追加('');
$(“#产品”+i).自动完成({
来源:功能(请求、响应){
$.ajax({
url:“productsearch.php”,
数据类型:“json”,
数据:{term:request.term},
成功:功能(数据){
响应($.map)(数据、功能(项){
返回{
标签:item.text,
id:item.id,
代码:item.id
};
}));
}
});
},
最小长度:2,
选择:功能(事件、用户界面){
var codice=“$code”+i;
$('#codice').val(ui.item.id);
}
});
i++;
});
$(“#删除_行”)。单击(函数(){
如果(i>1){
$(“#addr”+(i-1)).html(“”);
我--;
}
});
$(“#产品”+i).自动完成({
来源:功能(请求、响应){
$.ajax({
url:“productsearch.php”,
数据类型:“json”,
数据:{term:request.term},
成功:功能(数据){
响应($.map)(数据、功能(项){
返回{
标签:item.text,
id:item.id,
代码:item.id
};
}));
}
});
},
最小长度:2,
选择:功能(事件、用户界面){
$(“#code”+i.val(ui.item.id);
}
});
i++;
});
});

1.

可以肯定的是,在第一次自动完成时的select事件处理程序中,您有一个错误:

select: function(event, ui) {
                var codice="$code"+i;
                $('#codice').val(ui.item.id);
            }
为jquery选择器创建一个变量,然后不使用它。无法使用此函数更新id为“code”+i的输入值。相反,它需要:

select: function(event, ui) {
                var codice="#code"+i;
                $(codice).val(ui.item.id);
            }

解决这个问题,看看你的问题是否消失。

我通过添加一个新的
var count=0在顶部。
现在我使用:

$("[id^=code]:eq( " + count + " ) ").val(ui.item.id);
问题在于变量
i

谢谢大家的帮助

            select: function(event, ui) {
                $("[id^=code]:eq( " + count + " ) ").val(ui.item.id);
                 }

        });
  i++;
  count++;
});

您在控制台中有任何错误吗?感谢您的回复lolka_bolka,并感谢zessx的编辑。我在Consolery中没有错误,可以向ajax请求添加
error
函数。也许php方面有一些错误,您没有捕捉到。如果用给定的术语直接调用
productsearch.php
,会发生什么?我很确定php端的一切都正常。如果我调用
productsearch.php?term=prod
它会显示
[{“id”:“0001”,“text”:“Prodotto di prova”}]
奇怪的事情是:
$(“#code0”).val(ui.item.label)
可以工作,但是
$(“#code”+i.val(ui.item.id)
不起作用谢谢,但真正的代码是
$('#code'+i).val(ui.item.id)在第一个和第二个自动完成中。对不起,我粘贴了一个过时的版本。错了吗?
            select: function(event, ui) {
                $("[id^=code]:eq( " + count + " ) ").val(ui.item.id);
                 }

        });
  i++;
  count++;
});