Hello在我的jquery中,我想在当前行的表单字段中填充数据。我将有多个具有相同类的字段,我的代码可以工作,但我面临的问题是,所有行的代码更改,但我只想更改当前行数据 这是我的小提琴 https://jsfiddle.net/1bfbtoxw/
这是我的jquery
$(".enginenum").autocomplete({
source: "includes/modvehicleSale/search-engine.php",
minLength: 1,
select: function (event, ui) {
var item = ui.item;
if(item) {
$('.txtchassis').val(item.ChassisNo);
$('.txtdescription').val(item.BikeDescription);
$('txtselling').val(item.SellingAmount);
}
}
})
答案 0 :(得分:0)
您的jsfiddle设置不正确。
我将该类添加到您的其他输入并将js代码更改为:
const ac_settings = {
source: "includes/modvehicleSale/search-engine.php",
minLength: 1,
select: function (event, ui) {
var item = ui.item;
if(item) {
$('.txtchassis').val(item.ChassisNo);
$('.txtdescription').val(item.BikeDescription);
$('txtselling').val(item.SellingAmount);
}
}
}
$.each($(".enginenum"), function() {
$(this).autocomplete(ac_settings)
})
//$(".enginenum").autocomplete()
答案 1 :(得分:0)
尝试选择最近的行,例如
var row = $(event.target).closest(".row");
然后将此行用作选择器中的容器
$('.txtchassis', row)
代码将是:
$(".enginenum").autocomplete({
source: "includes/modvehicleSale/search-engine.php",
minLength: 1,
select: function (event, ui) {
var row = $(event.target).closest(".row");
var item = ui.item;
if(item) {
$('.txtchassis', row).val(item.ChassisNo);
$('.txtdescription', row).val(item.BikeDescription);
$('txtselling', row).val(item.SellingAmount);
}
}
})
答案 2 :(得分:0)
<强> A sample fiddle first 强>
假设您有.row
作为每个row
的父级,您可以使用$(this).closest('.row')
引用当前行并使用.find
获取该行的相关元素。所以你的更改如下:
$(".enginenum").autocomplete({
source: "includes/modvehicleSale/search-engine.php",
minLength: 1,
select: function (event, ui) {
var item = ui.item;
if(item) {
$(this).closest('.row').find('.txtchassis').val(item.ChassisNo);
$(this).closest('.row').find('.txtdescription').val(item.BikeDescription);
$(this).closest('.row').find('.txtselling').val(item.SellingAmount);
}
}
});
请注意,id
必须是唯一符合标准的。