【问题标题】:How to create dynamically disable a single check box of checkboxlist in YII如何在 YII 中创建动态禁用复选框列表的单个复选框
【发布时间】:2014-09-23 11:47:25
【问题描述】:

在一个表单中,我有一个复选框列表,其中有两个复选框(男性和女性) 用户可以同时选择它们或其中任何一个。并且值正在保存在 DB 中。

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

我的视图文件中的代码是:

<?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); ?>

问题是当我填充它时选择了一个,我在保存时选择了但没有禁用另一个。

【问题讨论】:

    标签: php dynamic yii checkboxlist


    【解决方案1】:

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

    1. 获取复选框 ID
    2. 检查选择了哪一个
    3. 在 JS 中使用 innerHTML 禁用另一个。

    Here 你有一个关于如何在 JS 中禁用复选框的示例

    您知道,JS 应该放在视图内。

    【讨论】:

    • 用 PHP 是可能的.... 网络中有很多例子。但我正在尝试的不是在这里工作。
    • 试试上面的...它是独立于 php 和 Yii 的。这是一种解决方法,但它有效
    猜你喜欢
    • 2019-05-19
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 2012-10-31
    • 2011-05-21
    相关资源
    最近更新 更多