动态形式+;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);
});
}