如何使用jQuery在每个组中使用相同类名的多输入文本框中插入值?

时间:2016-11-27 06:55:21

标签: javascript jquery ajax

如何在具有相同类名的多输入文本框中插入每个组的值。我想更新每组的输入文本框值。我的下面的代码正在运行,但是当我在自动完成中选择一个项目时,它正在填满所有文本框。我想要的是,如果我在项目组1中选择一个项目,则只应更新组1中的文本框。

<div id="itemgroup1">
  <input type="text" class="form-control itemname" name="oe_type[]" placeholder="Enter item name or code" required>
  <input type="text"class="form-control it_desc" name="oe_desc[]" placeholder="Enter item description" required>                                     
  <input type="number" step="any" class="form-control it_price" name="oe_value[]" placeholder="Enter unit price" value="0">
  <input type="number" step="any" min="1" class="form-control itemqty" name="oe_qty[]" placeholder="Enter quantity" required>
</div>
<div id="itemgroup2" >
  <input type="text" class="form-control itemname" name="oe_type[]" placeholder="Enter item name or code" required>
  <input type="text"class="form-control it_desc" name="oe_desc[]" placeholder="Enter item description" required>
  <input type="number" step="any" class="form-control it_price" name="oe_value[]" placeholder="Enter unit price" value="0">
  <input type="number" step="any" min="1" class="form-control itemqty" name="oe_qty[]" placeholder="Enter quantity" required>
</div>
<script>
  $(".itemname").autocomplete({
    minLength: 4,
    autoFocus: true,
    source: function(request, response) {
      $.ajax({
        url: "get_item.php",
        data: {term: request.term},
        dataType: "json",
        success: function(data) {
          response($.map(data.myData, function(item) {
            return {
              label: item.name,
              value: item.code,
              code: item.code,
              price: item.price,
              desc: item.desc
            }
          }));
        }
      });
    },
    select: function (event, ui) {
      $(".it_desc").val(ui.item.desc);
      $(".it_price").val(ui.item.price);
      $(".itemqty").focus();
    }
  });
</script>

1 个答案:

答案 0 :(得分:0)

试试这个:

select: function(event, ui) {
  $(this).nextAll(".it_desc").val(ui.item.desc);
  $(this).nextAll(".it_price").val(ui.item.price);
  $(this).nextAll(".itemqty").focus();
}