2015-07-11 12 views
7

Voglio il pulsante radio preselezionato nel mio modulo.Come preselezionare/controllare un pulsante di opzione predefinito in yii2 RadioList()?

<?= $form->field($model, 'config')->radioList(['1'=>'Automatic Entry',2=>'Manual Entry']) 
    ->label('Barcode/Book No Generation'); ?> 
+0

Stai parlando di questo? http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#radioList()-detail In tal caso, sembra che siano disponibili $ opzioni in cui è possibile impostare la selezione predefinita. – methode

+0

Ho già consultato questo documento, se qualcuno trova il nome dell'attributo, quindi voglio una demo? –

+0

Nel mio test il pulsante radio è normalmente preselezionato (il primo) solo un minore il 2 è migliore se si codifica "2" come il primo. – scaisEdge

risposta

20

I valori preselezionati sono presi da $model->config. Ciò significa che è necessario impostare l'attributo per il valore che si desidera preselezionato:

$model->config = '1'; 
$form->field($model, 'config')->radioList([ 
    '1' => 'Automatic Entry', 
    '2' => 'Manual Entry', 
]); 

Il documento rilevante per questo è nella classe ActiveForm.

+0

Grazie. sta funzionando bene. –

-3

girato a lungo nel buio dato che non sono terribilmente familiarità con yii2, ma sulla base della documentazione si dovrebbe essere in grado di fare qualcosa di simile.

$form->field($model, 'config')->radioList([ 
      '1'=>'Automatic Entry', 
      '2'=>'Manual Entry', 
    ], [ 
     'item' => function ($index, $label, $name, $checked, $value) { 
      return Html::radio($name, $checked, ['value' => $value]); 
     }, 
    ]); 
// [...] 
ActiveForm::end(); 
-1

Devi impostare l'attributo 'config'.

$model->config = 1; 

Avrai il primo pulsante radio selezionato quando il modulo è caricato.

tarleb ha ragione.

0

se si desidera utilizzare il valore predefinito della radio, è possibile utilizzare i seguenti codici:

<?php $model->isNewRecord==1 ? $model->config=1:$model->config;?> 
<?= $form->field($model, 'config')->radioList(
    [ 
     '1'=>'Automatic Entry', 
     '2'=>'Manual Entry' 
    ])->label('Barcode/Book No Generation'); 
?> 
Problemi correlati