Javascript Jquery ui自动完成不填充
我不熟悉JQuery和JQuery UI 我在一个具有动态行的表中使用带有远程json的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(
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++;
});