Yii单选按钮具有不同型号

时间:2013-02-18 16:13:15

标签: yii radio-button radiobuttonlist

所以我有这个代码......这只是一个样本

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

所以我的问题是如何在这里应用radiobutton ....看,我有两个字段,第一和第二个会话但我需要做的是第一个会话被标记为第二个会话不能。我还是yii的新手。

1 个答案:

答案 0 :(得分: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'));?>