1

だから私はこのコードを持っています...まあこれは単なるサンプルです

<div class="row">
    <?php echo $form->labelEx($model,'First_Session'); ?>
    <?php echo $form>radioButton($model,'first_session',array('c'=>'')/**array('size'=>45,'maxlength'=>45)*/); ?>
    <?php echo $form->error($model,'first_session'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'Second_Session'); ?>
    <?php echo $form->radioButton($model,'second_session',array('c'=>'Checked')/**array('size'=>45,'maxlength'=>45)*/); ?>
    <?php echo $form->error($model,'second_session'); ?>
</div>

だから私の質問はここでラジオボタンを適用する方法です....参照してください、私は2つのフィールド、最初と2番目のセッションがありますが、最初のセッションがマークされたときに2番目のセッションはできませんでした。私はまだyiiに不慣れです。

4

1 に答える 1

0

CHtml::radioButtonList()の代わりに使用しradioButton()ます。モデルで追加の変数を宣言し、$session_valこれを使用して、検証前に選択した「セッション」の値を設定できます。

モデル

class Model1{
   ....
   public $session_val;
   ....
   public function beforeValidate(){
       unset($this->first_session);
       unset($this->second_session); //unset first_session and second_session
       if(isset($this->session_val))
           $this->$session_val=true; //set first_session or second_session
       else
           $this->addError(...);
       return parent::beforeValidate();
   }

   public function rules(){
       return array(
           ...
           array('session_val','safe'),
           ...
       );
   }

見る

<?php echo $form->labelEx($model,'session_val'); ?>

<?php echo $form->radioButtonList($model,'session_val',array('first_session'=>'First Session','second_session'=>'Second Session'));?>
于 2013-02-18T16:32:46.060 に答える