2016-03-23 7 views
1

Ich habe eine Yii2 App mit erweiterten Vorlage. Es gibt 2 Felder auf meinem Formular. 1.: MaskedInput und 2. textInput mit dem Attribut readonly. Also wollte ich den zweiten TextInput automatisch füllen, nachdem ich MaskedInput gefüllt habe. Dafür habe ich versucht, onchange zu verwenden. Aber ich habe folgende Fehlermeldung:Wie man "onchange" in Yii2 maskedInput widget

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

Hier ist mein Code:

<?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> 

Antwort

1

Versuchen mit options Eigenschaft:

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

Es funktioniert !!! Vielen Dank. Ich habe vorher "clientOptions" versucht, aber nicht "Optionen". Jetzt funktioniert es, danke nochmal –

+0

@RasulbekAbdurasulov. 'onChange' ist eine HTML-Eigenschaft, daher sollten HTML-Optionen besser verwendet werden. –