2014-09-23 45 views
3

在表单中,我有复选框列表,其中有两个复选框(男性和女性) 用户可以选择它们中的任意一个或任意一个。数值在数据库中得到保存。如何在YII中动态禁用复选框的单个复选框

当我们从数据库填充它时,我想要这样做,如果选择了男性,那么它应该选择男性复选框并禁用女性复选框,反之亦然。

在我看来,文件中的代码是:

<?php if(isset($model['gender'])){ 
     $data = $model['gender']; 
     if (isset($data)) { 
     if($data == 0) 
      $htmlOptions = array(
          '0' => array('label'=>'MALE'), 
          '1' => array('disabled'=>'disabled','label'=>'FEMALE'),); 
     } 
     if($data == 1){ 
      $htmlOptions = array(
          '0' => array('disabled'=>'disabled','label'=>'MALE',), 
          '1' => array('label'=>'FEMALE'),); 
     } 
    }  
    echo $form->checkBoxList($model, 'gender', $htmlOptions); ?> 

问题是,当我填充它是选择一个,我选择的同时节省了,但不是禁用另一个。

回答

-1

为此,您必须使用javascript,因为您无法仅通过PHP处理它。现在,我不知道那么多JS,但步骤很简单:

  1. 得到的是选择
  2. 禁用另一个与innerHTML的JS中的复选框的id
  3. 检查。

Here你有你如何在JS

禁用复选框

只要你知道一个例子,JS应放置在视图中。

+0

这是可能的PHP ....有这么多的例子在网络中。但我所尝试的并不是在这里工作。 – Naincy 2014-09-25 12:05:24

+0

试试上面...这是独立的php和Yii。这是一个解决方法,但它的工作原理 – 2014-09-25 12:26:20

相关问题