Yii2 activeform onchange标签名称为相同的属性值

时间:2018-02-15 18:10:51

标签: javascript php yii2

在我的下拉列表中,当我选择Percentage时,'vendorcommision'(下一个字段)的标签应为"Percentage"。当我选择Amount时,标签应为"Amount"

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");
                            }
                            else{
                            $("#percentage").val("1000");}'
                    ]);

    echo $form->field($model, 'vendorcommision')
                  ->label('Vendor Fee')
                  ->textInput(['type' => 'number','id' => 'percentage']);
    }

1 个答案:

答案 0 :(得分:1)

我将如何做到这一点:

  1. 关闭' vendorcommision' [->label(false)]
  2. 使用范围作为自定义标签,例如<span class="custom-label"></span>
  3. 将事件侦听器添加到下拉列表以更改标签。这将是:

    var onChangeFunc = function(event) {
        if($(fixedOrPercentagevendorSelector).val() == 1) {
            $('.custom-label').html('Percentage');
        } else {
            $('.custom-label').html('Amount');
        }
    }
    
  4. 注意:如果您对项目包含I18N支持,则可能需要将标签保存在某个变量中并使用它们。