【问题标题】:Yii radioButton with different models不同型号的 Yii radioButton
【发布时间】:2013-02-03 03:15:40
【问题描述】:

所以我有这段代码......这只是一个示例

<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 的新手。

【问题讨论】:

  • 如果first_sessionsecond_session都没有被检查,输入是否有效?
  • 该代码只是一个示例 :D 但是是的

标签: yii radio-button radiobuttonlist


【解决方案1】:

使用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'));?>

【讨论】:

  • 我在同一个模型中有两个字段,当我想检查第一个会话时,第二个会话不应该或不能检查,因为第一个会话已经检查过了,我的问题是我不知道怎么做
猜你喜欢
  • 1970-01-01
  • 2014-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-06
  • 1970-01-01
相关资源
最近更新 更多