动态表格 + 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);
});
}
我在 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);
});
}