2017-11-18 1 views
0

일반적으로 Tab 키를 사용하여 필드에서 다른 필드로 이동할 때 필드 내용 (있는 경우)이 강조 표시되고 키를 누르면 필드의 내용이 삭제되지만 ' 10 진수 필드와 함께 Kartik MaskedInput을 사용할 때 발생합니다.YII2 MaskedInput : 필드 사이를 이동해도 내용이 강조 표시되지 않습니다.

컨트롤을 다른 필드로 이동하면 커서가 끝까지 이동하므로 필드 내용을 삭제하거나 마우스를 사용하여 강조 표시하려면 백 스페이스를 사용해야합니다.

많은 필드가있는 양식이 있으므로 편집하는 데 오랜 시간이 걸립니다.

<?= $form->field($model, 'val_one' , ['template' => ' 
         <div class="input-group "> 
         <span class="input-group-addon"> 
         FIRST 
         <span class="glyphicon glyphicon-euro"></span> 
         </span> 
         {input}      
         </div> 
         {error}{hint}'])->textInput(['maxlength' => true])->label(false)->widget(yii\widgets\MaskedInput::className(), 
               [ 
               'clientOptions' => [ 
               'alias' => 'decimal', 
               'groupSeparator' => '.', 
               'radixPoint' => ',', 
               'digits' => 2, 
               'autoGroup' => true, 
               'removeMaskOnSubmit' => true, 
               'rightAlign' => false,         
               ], 
               'options' => [ 
               'class' => 'form-control',     
               ]        
               ]) ?> 

답변

0

내가 해결책을 발견 :

내 코드입니다.

$focus = <<< JS 
function getSelect(item) { 
if (event.keyCode == 9) { 
item.select(); 
    }; 
}; 
JS; 
$this->registerJs($focus, View::POS_END); 

및 양식 필드 옵션이 줄을 추가합니다 :

그것은이 자바 스크립트 코드를 사용하기 충분

'onkeyup' => 'getSelect($(this))' 

을 이러한 방법으로, 때마다 탭 키를 누를 때 (코드 9) 대상 필드의 내용이 선택됩니다.

관련 문제