Как использовать onchange в виджете Yii2 MaskedInput

У меня есть приложение Yii2 с расширенным шаблоном. В моей форме 2 поля. 1-й: MaskedInput и 2-й textInput с атрибутом только для чтения. Итак, я хотел автоматически заполнить 2-й текстовый ввод сразу после заполнения MaskedInput. Для этого я попытался использовать onchange. Но я получил следующую ошибку:

Unknown Property – yii\base\UnknownPropertyException
Setting unknown property: yii\widgets\MaskedInput::onchange

Вот мой код:

<?php $form = ActiveForm::begin(); ?>
<div class="row">
    <div class="col-xs-3">
        <?= Html::label("Ser num")?>
        <?= MaskedInput::widget(['name'=>'serNum',
            'mask'=>'AA 9999999',
            'onchange'=>'
                $.post("index.php?r=act/actid&serNum='.'"+$(this).val(),function(data){
                $("select#ser-sernum").html(data);
        });
            '
        ])?>
    </div>
    <div class="col-xs-3">
        <?= $form->field($model, 'sernum')->textInput(['readonly'=>true]) ?>
    </div>
    <div class="col-xs-6">
        <b id="actstatus"></b>
    </div>
</div>

person Rasulbek Abdurasulov    schedule 23.03.2016    source источник


Ответы (1)


Попробуйте использовать свойство options:

<?= yii\widgets\MaskedInput::widget(['name'=>'serNum',
        'mask'=>'AA 9999999',
        'options' => [
          'onchange'=>'
              $.post("index.php?r=act/actid&serNum='.'"+$(this).val(),function(data){
              $("select#ser-sernum").html(data);
           });'
         ]
])?>
person Insane Skull    schedule 23.03.2016
comment
Оно работает!!! Большое спасибо. Я пробовал clientOptions раньше, но не пробовал options. Теперь все работает, еще раз спасибо - person Rasulbek Abdurasulov; 23.03.2016
comment
@РасулбекАбдурасулов. onChange — это свойство html, поэтому лучше использовать параметры html. - person Insane Skull; 23.03.2016