根据下拉值,更改yii2 activeform

时间:2018-01-24 05:42:04

标签: javascript php mongodb yii2 active-form

我的活动表格:

下拉

<?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,只有标签名称和值不同。

提前致谢。

1 个答案:

答案 0 :(得分:0)

解决了我的问题。

<?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']);
}
?>