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>

所以我的问题是如何在这里应用单选按钮....看,我有两个字段,第一个和第二个会话,但我需要做的是当第一个会话被标记时,第二个会话不能。我还是 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 回答