Jquery ui自动完成未填充
Jquery ui autocomplete not fill
我是JQuery和JQuery UI的新手。
我在一个具有动态行的表中使用带有远程json的autocomplete
问题是:一切正常,但由于某些原因,输入code
没有被填充
奇怪的是,如果我在选择区域中硬编码#code0
或#code1
,它就会工作
但似乎#code+i
在select中没有被识别。另一件奇怪的事情是$("#product"+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++;
});
});
<tbody>
<tr id='addr0'>
<td>1</td>
<td><input id="product0" type="text" name='product0' placeholder='Digita il codice o il nome del prodotto' class="form-control"></td>
<td><input id="code0" type="text" name='code0' placeholder='Codice' class="form-control" readonly="readonly"></td>
</tr>
<tr id='addr1'>
</tr>
有一点是肯定的,在第一个自动完成的选择事件处理程序中,您有一个错误:
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++;
});
相关文章:
- 在UI路由器中以抽象状态填充常见视图
- 基于按钮点击填充剑道UI网格
- 需要.js填充程序,用于加载 JQuery UI 和其他 JQuery 包
- 从替代字段填充 jquery UI 日期选择器日期字段
- 角度 UI-grid 保存来自不同范围对象的预填充值
- 如何使用 Restangular 填充 jQuery UI Select2
- 如何从 Ajax 响应中重新填充 jquery UI 日期选择器
- 使用 JSON 字符串填充剑道 UI 网格
- 我可以在ui网格中使用下拉列表来填充数据库中的数据吗
- Jquery ui自动完成未填充
- jquery ui滑块填充值
- 动态填充jquery UI类别自动完成
- 使用Web填充程序仅替换日期选择器的UI
- Angular UI路由器-尽管$stateParams获取对象,但不填充参数
- jquery ui自动完成填充其他输入
- 如何使用AngularJs、Ui Router和MongoDB轮询数据库并填充控制器
- 我如何使用嵌套Json填充剑道UI网格
- 量角器e2e测试角UI网格填充
- JQuery UI对话框填充复选框值到父
- 在React项目中填充材质UI卡组件