根据下拉值,改变yii2 activeform中某个属性的标签名和值
According to the dropdown value, change the label name and value of an attribute in yii2 activeform
我的活动形式:
下拉菜单
<?php
if($model->userType!="VENDOR" && $model->userType!="COMPANY"){
echo $form->field($model, 'fixedOrPercentagevendor')->dropDownList([0=>'Percentage',1=>'Amount']);
}
?>
我需要用 onchange 完成它,
当我选择Percentage
时,它应该显示
<?= $form->field($model, 'vendorcommision')->label('Vendor Fee (%)')->textInput(['type' => 'number','value'=>'20', 'id'=>'percentage']); ?>
当我选择Amount
时,它应该显示
<?= $form->field($model, 'vendorcommision')->label('Vendor Fee (LKR)')->textInput(['type' => 'number','value'=>'1000','id'=>'amount']); }?>
请注意,两个下拉选项在模型中呈现相同的属性 vendorcommision
,只有标签名称和值不同。
提前致谢。
解决了我的问题。
<?php
if($model->userType!="ADMIN" && $model->userType!="HOST"){
echo $form->field($model, 'fixedOrPercentagevendor')->dropDownList([0=>'Amount',1=>'Percentage'],
[
'onchange'=>'if($(this).val() == 1){
$("#percentage").val("20");
$("#ftype").html("Vendor Fee (%)");
}
else{
$("#percentage").val("1000");
$("#ftype").html("Vendor Fee (LKR)");}'
]);
echo $form->field($model, 'vendorcommision',['template'=>"{label}\n<div>{input}</div>\n{hint}\n{error}",'labelOptions'=>['label'=>'Vendor Fee','id'=>'ftype']])
->textInput(['type' => 'number','id' => 'percentage']);
}
?>
我的活动形式:
下拉菜单
<?php
if($model->userType!="VENDOR" && $model->userType!="COMPANY"){
echo $form->field($model, 'fixedOrPercentagevendor')->dropDownList([0=>'Percentage',1=>'Amount']);
}
?>
我需要用 onchange 完成它,
当我选择Percentage
时,它应该显示
<?= $form->field($model, 'vendorcommision')->label('Vendor Fee (%)')->textInput(['type' => 'number','value'=>'20', 'id'=>'percentage']); ?>
当我选择Amount
时,它应该显示
<?= $form->field($model, 'vendorcommision')->label('Vendor Fee (LKR)')->textInput(['type' => 'number','value'=>'1000','id'=>'amount']); }?>
请注意,两个下拉选项在模型中呈现相同的属性 vendorcommision
,只有标签名称和值不同。
提前致谢。
解决了我的问题。
<?php
if($model->userType!="ADMIN" && $model->userType!="HOST"){
echo $form->field($model, 'fixedOrPercentagevendor')->dropDownList([0=>'Amount',1=>'Percentage'],
[
'onchange'=>'if($(this).val() == 1){
$("#percentage").val("20");
$("#ftype").html("Vendor Fee (%)");
}
else{
$("#percentage").val("1000");
$("#ftype").html("Vendor Fee (LKR)");}'
]);
echo $form->field($model, 'vendorcommision',['template'=>"{label}\n<div>{input}</div>\n{hint}\n{error}",'labelOptions'=>['label'=>'Vendor Fee','id'=>'ftype']])
->textInput(['type' => 'number','id' => 'percentage']);
}
?>