Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态形式+;javascript_Javascript_Yii2_Yii2 Advanced App_Dynamic Forms - Fatal编程技术网

动态形式+;javascript

动态形式+;javascript,javascript,yii2,yii2-advanced-app,dynamic-forms,Javascript,Yii2,Yii2 Advanced App,Dynamic Forms,我有一些动态表单在Yii2中工作,对我来说效果很好,但我需要添加一个函数来获取成本价格和销售价格。它是第一种动态形式的工作,但另一种则不是 我的表格代码: <div class="row"> <div class="col-sm-12"> <?= $form->field($modelPoItem, "[{$i}]po_item_no")->dropDownList( ar

我有一些动态表单在
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>

试试这个:

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

问题是什么还不是很清楚。您是否有某种错误消息?“它不起作用”不是很好helpful@Elzo我更新了我的问题,长官!您生成的第一个表单的id不是:$(“#poitem-0-po_item_no”)吗?为了运行javascript代码,您应该在所有表单中都有一个公共类。@是的。您可以使用
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);
   });
}