动态表格 + javascript

DynamicForm + javascript

我在 Yii2 中使用了一些动态表单,对我来说效果很好,但我需要添加一点功能来获取成本价和促销价。它以第一种动态形式工作,但另一种则没有。

我的表格代码:

<div class="row">
    <div class="col-sm-12">
         <?= $form->field($modelPoItem, "[{$i}]po_item_no")->dropDownList(
                            arrayhelper::map(Itemes::find()->all(),'itemes_id','item_name'),
                            ['prompt'=>'select Item', 'onchange' => 'getProduct($(this))', 'onkeyup' => 'getProduct($(this))']
                            ) ?>
    </div>  
</div>
<div class="row">
     <div class="col-sm-4">
          <?= $form->field($modelPoItem, "[{$i}]quantity")->textInput(['maxlength' => 128 ])  ?>
     </div>
     <div class="col-sm-4">
        <?= $form->field($modelPoItem, "[{$i}]cost_price")->textInput(['maxlength' => 128]) ?>
      </div>
      <div class="col-sm-4">
          <?= $form->field($modelPoItem, "[{$i}]sale_price")->textInput(['maxlength' => 128]) ?>
      </div>
</div>

这是我的 JS 代码:

function getProduct(item) {
 var index  = item.attr("id").replace(/[^0-9.]/g, "");
 var itemes_id =$('#poitem-'+index+'-po_item_no').val();
 $.get('index.php?r=itemes/price',{ itemes_id : itemes_id },function(data)
  {
   var data=$.parseJSON(data);
   alert('#poitem-'+index+'-sale_price'); // i used it just to check if the id Is correct 
   $('#poitem-'+index+'-sale_price').attr('value',data.sale_price);
   $('#poitem-'+index+'-cost_price').attr('value',data.cost_price);
  });
}

试试这个:

function getProduct(item) {
   var index  = item.attr("id").replace(/[^0-9.]/g, "");
   var itemes_id =$('#poitem-'+index+'-po_item_no').val();
   $.get('index.php?r=itemes/price',{ itemes_id : itemes_id },function(data)
   {
      var data=$.parseJSON(data);

     $('#poitem-'+index+'-sale_price').val(data.sale_price);
     $('#poitem-'+index+'-cost_price').val(data.cost_price);
   });
}