【问题标题】:change id checkboxs in CGridView更改 GridView 中的 id 复选框
【发布时间】:2014-08-03 08:18:24
【问题描述】:

cgridViewtable 中有 2 列复选框,视图页面中有两个引导小部件 TbButton。
我无法很好地获得我的复选框的价值。我在复选框中的值转移到控制器但更改了复选框的 id 一段时间后,控制器不知道复选框,

查看:

$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
    'id' => 'profile-information-form',
    'enableAjaxValidation' => false,
        ));

$this->widget('bootstrap.widgets.TbButton', array('buttonType' => 'submit', 'type' => 'primary', 'label' => Yii::t('fa_ir', 'First validation'),));

   $this->widget('bootstrap.widgets.TbButton', array('buttonType' => 'submit', 'type' => 'primary', 'label' => Yii::t('fa_ir', 'End validation'),));



 $this->widget('zii.widgets.grid.CGridView', array(
        'id' => 'profile-information-grid',
        'dataProvider' => $model->children(),
        'filter' => $model,
        'columns' => array(
            array(
                'header' => '',
                'value' => '$this->grid->dataProvider->pagination->offset + $row+1', //  row is zero based
            ),
            array(
                'name' => 'ProfileInformation.user.scope',
                'value' => 'CHtml::encode($data->user->scope->name)',
                'filter' => Scope::model()->options,
            ),

            array(
                'name' => 'id',
                'value' => 'CHtml::encode($data->id)',
            ),
            array(
                'name' => 'center',
                'value' => 'CHtml::encode($data->center)',
            ),

            array(
                'name' => 'sendCount',
                'value' => 'CHtml::encode($data->sendCount)',
                'filter' => '',
            ),
            // Use CCheckbox column with selectableRows = 2 for Select All

            array('class' => 'CCheckBoxColumn', 'selectableRows' => 2, 'visible' => (Lookup::isUser2(Yii::app()->user->id) or Lookup::isAdmin(Yii::app()->user->id))),


            array('class' => 'CCheckBoxColumn', 'selectableRows' => 2, 'visible' => (Lookup::isUser1(Yii::app()->user->id) or Lookup::isAdmin(Yii::app()->user->id))),


        ),
    ));

// action button  

    $this->endWidget();

控制器:

if (isset($_POST['profile-information-grid_c10']) & isset($_POST['yt0'])) {

            ////Do action1
        }
        if (isset($_POST['profile-information-grid_c12']) & isset($_POST['yt1'])) {
            ////Do action2
            }
        }

我的问题出在 $_POST['profile-information-grid_c10'] 和 _POST['profile-information-grid_c12'] 之前,id 是 $_POST['profile-information-grid_c8'] 和 $_POST['profile -information-grid_c10'] ,现在是 $_POST['profile-information-grid_c12'] 和 $_POST['profile-information-grid_c14']。
我的问题非常复杂。我不能很好地解释。
我想要一个修复ID。 我不知道为什么要更改复选框的 ID?
我可以为复选框分配 id 吗?

【问题讨论】:

    标签: php checkbox yii cgridview


    【解决方案1】:

    我可以为复选框分配 id 吗?当然,您最好明确设置复选框列 id: 'class' => 'CCheckBoxColumn', 'id'=>'column1', ...these docs。 这样一来,您就可以牢固地设置它,并且您将没有像yt0yt2这样的东西... 您可以对按钮执行相同的操作。请参阅 TButton 文档。

    您还需要在逻辑条件下使用双 &&isset($_POST['profile-information-grid_c12']) & isset($_POST['yt1'])

    【讨论】:

    • @Savinkin 您的回复非常有用
    • @maryam,很高兴你得到帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多