2017-02-17 98 views
0

你好在我的jQuery中,我想填充当前行的表单字段中的数据。我将与同一类的多个领域,我这个代码的工作,但我现在面临的问题是,所有行的这段代码的变化,但我想只改变我的当前行数据 这里是我的小提琴 https://jsfiddle.net/1bfbtoxw/jquery每行的自动完成数据

这里是我的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

这就是为什么我们使用'class'es;做一个单一的节目使用'id's – Viney

+0

尝试与ids太,但没有工作,你可以请转发解决方案? – DUbaicos

+0

无法使用ID – DUbaicos

回答

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■找是唯一遵循的标准。

+0

谢谢你看起来很完美 – DUbaicos

+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() 

https://jsfiddle.net/1bfbtoxw/2/

+0

我试过但没有工作:( – DUbaicos

+0

你有没有改变来源“includes/modvehicleSale/search-engine.php”以包括你自己的域名? –

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); 
       } 
      } 
    })