Yii2 - 如何在activeform中添加onchange事件

时间:2014-11-25 07:16:35

标签: javascript yii2

这是我的代码:

<?= $form->field($model, 'int_roomCatId')
          ->dropDownList(ArrayHelper::map(TblCategory::find()->all(), 'int_category_id', 'str_category'), array('class' =>'form-control','prompt'=>'Select Room Category'))
          ->label('Room Category');  ?>

我想添加onchange =“getData()”事件。在哪里添加这个?

3 个答案:

答案 0 :(得分:1)

htmloptions数组中,只需执行以下操作:

dropDownList(ArrayHelper::map(TblCategory::find()->all(), 'int_category_id', 'str_category'), array('onchange'=>'getData()','class' =>'form-control','prompt'=>'Select Room Category'))

htmloptions数组中的每个键和值都将转换为html属性,例如:

'key'=>'value'

将显示为:

<tag key="value" /> 

答案 1 :(得分:1)

您可以使用以下方式致电:

<?= $form->field($model, 'product_name')->dropDownList(ArrayHelper::map(Products::find()->all(), 'id', 'name'), 
             ['prompt'=>'-Choose a Product-',
              'onchange'=>'
                $.get( "index.php?r=suborders/listprice&id="+$(this).val(), function( data ) {
                  $( "#suborders-product_price" ).val( data );
                });
            ']);
    ?>

希望这对你有所帮助。

答案 2 :(得分:0)

我是这样做的:

    echo $form->field($flightSearchForm, "lastDepartTimeChange", 
        ['options' => ['class' => 'col-xs-12', 
                       'onchange' => "changeHidden(\"departFlightTimeMin\")"]
         ])->widget(\yii\jui\SliderInput::classname());

如您所见,我只是将它放在HTML选项数组中,这是$ form-&gt;字段函数的第三个输入。希望这有帮助!