dongqun1656 2018-02-15 18:10
浏览 214
已采纳

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

In my dropdownlist, when I choose Percentage, the label of the 'vendorcommision'(next field) should be "Percentage". When I choose Amount, the label should be "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条回答 默认 最新

  • dou91808 2018-02-16 02:02
    关注

    Here is how I would do it:

    1. Turn label off for 'vendorcommision' [->label(false)]
    2. Use a span for custom label, eg <span class="custom-label"></span>
    3. Add event listener to the dropdown list to change labels. It will be on the lines of:

      var onChangeFunc = function(event) {
          if($(fixedOrPercentagevendorSelector).val() == 1) {
              $('.custom-label').html('Percentage');
          } else {
              $('.custom-label').html('Amount');
          }
      }
      

    Note: If you include I18N support to your project, you will probably have to save the labels in some variable and use them.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    悬赏问题

    • ¥15 c++图Djikstra算法求最短路径
    • ¥15 Linux操作系统中的,管道通信问题
    • ¥15 ansible tower 卡住
    • ¥15 等间距平面螺旋天线方程式
    • ¥15 通过链接访问,显示514或不是私密连接
    • ¥100 系统自动弹窗,键盘一接上就会
    • ¥50 股票交易系统设计(sql语言)
    • ¥15 调制识别中这几个数据集的文献分别是什么?
    • ¥15 使用c语言对日志文件处理
    • ¥15 请大家看看报错原因,为啥会这样