2012-10-23 2 views
3

Q : cgridview에서 체크 박스 값을 얻는 방법은 무엇입니까?cgridview에서 체크 박스 값을 얻는 방법은 무엇입니까?

상태 : CJuiDialog가있는 팝업 상자에서 cgridview를 만듭니다. 하지만 격자보기에서 확인란의 가치를 얻을 수 없습니다. 나는 500 오류가있어.

이 이것은

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'job-form', 
    'enableAjaxValidation'=>true, 
)); ?> 

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'acc-recei-grid', 
    'dataProvider'=>$model->search_reviewerlist(), 
    'filter'=>$model, 
    'columns'=>array(
     array(
      'class' => 'CCheckBoxColumn', 
      'selectableRows' => 2, 
      'checkBoxHtmlOptions' => array(
       'name' => 'userids[]', 
      ), 
      'value'=>'$data->id', 
      //'checked'=>'(in_array($data->id, $current_reviewers) ? 1 : ""', 
       'checked'=>function($data, $row) use ($current_reviewers){ 
       return in_array($data->id, $current_reviewers); 
       } 

     ), 
     'username', 
     array(
      'type'=>'raw', 
      'value'=>'$data->id', 
      //'filter'=>array('style'=>'visible:none'), 
      //'headerHtmlOptions'=>array('style'=>'width:0px; display:none; border:none; textdecoration:none'), 
      'htmlOptions'=>array('style'=>'display:none; border:none;', 'class'=>'user-id'), 
      //'header'=>false, 
      //'filter'=>false, 
     ), 

    ), 
)); ?> 


<div align="center"> 
     <?php echo CHtml::ajaxSubmitButton(Yii::t('reviewer','Update'),Yii::app()->createUrl('implementer/updatereviewer',array('id'=>$model->id)),array('success'=>'js: function(data) { 

         $("#reviewerlist").dialog("close"); 
        }'),array('id'=>'closeJobDialog')); ?> 


    </div> 

<?php $this->endWidget(); ?> 

이 "_listing.php"그리드보기입니다

<?php 
$this->beginWidget('zii.widgets.jui.CJuiDialog',array(
       'id'=>'reviewerlist', 
       'options'=>array(
        'title'=>Yii::t('accrecei','Reviewer List'), 
        'autoOpen'=>true, 
        'modal'=>'true', 
        'width'=>'750', 
        'height'=>'500', 

       ), 

       )); 
//echo $this->renderPartial('_listing', array('model'=>$model, 'acccategory'=>$acccategory,'job'=>$job)); ?> 

<?php $this->renderPartial('_listing',array('model' => $model,'arr_reviewer' => $arr_reviewer, 'current_reviewers'=> $current_reviewers),false,true); ?> 
<?php $this->endWidget('zii.widgets.jui.CJuiDialog');?> 

팝업 상자에게 있습니다

<div style="height:50px;">  
     <?php $imghtml=CHtml::image(Yii::app()->request->baseUrl.'/images/assets/approver.png','', array('style'=>'margin: 5px 0;')); ?> 
      <?php echo CHtml::ajaxLink(
     Yii::t('accrecei',$imghtml), 
     $this->createUrl('implementer/Approverlist', array('id'=>$model->id)), 
     array(
       'onclick'=>'$("#accreceilist").dialog("open"); return false;', 
       'update'=>'#reviewerlist'     
             ), 
     array(
       'id'=>'showaccreceilist', 
       'class'=>'btn btn-info', 
       'title'=>'Add/Remove reviewer', 
       'style'=>'width:25px; float:right; margin-button:20px;',) 
             );?> 
       <div id="reviewerlist"></div> 
     </div> 

팝업 상자를 열려면 내보기입니다 내 컨트롤러 기능을 사용하여 체크 박스 값을 얻습니다.

public function actionUpdatereviewer() 
    { 
     var_dump($_POST['userids']); 
     echo 'debug'; 
     echo $_GET['id']; 
     die;  

    } 

조언 해 주셔서 감사합니다.

+0

이것은 내가 아는 것 중 하나입니다. –

답변

0

나는 나 자신에 의해 그것을 가지고

<div style="height:50px;">  
     <?php $imghtml=CHtml::image(Yii::app()->request->baseUrl.'/images/assets/approver.png','', array('style'=>'margin: 5px 0;')); ?> 
      <?php echo CHtml::ajaxLink(
        Yii::t('customer_id',$imghtml), 
        $this->createUrl('implementer/approverlist', array('id'=>$model->id)), 
        array(
         'onclick'=>'$("#reviewerlist").dialog("open"); return false;', 
         'update'=>'#reviewerlist' 
         ), 
        array('id'=>'reviewer-link', 
          'class'=>'btn btn-info', 
          'title'=>'Add/Remove reviewer', 
          'style'=>'width:25px; float:right; margin-button:20px;',) 
        );?> 
       <div id="reviewerlist"></div> 
     </div> 

이는 _list.php입니다 (내 질문으로 팝업 상자에서 렌더링)이 내보기

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'job-form', 
    'enableAjaxValidation'=>true, 
)); ?> 

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'acc-recei-grid', 
    'dataProvider'=>$model->search_reviewerlist(), 
    'filter'=>$model, 
    'columns'=>array(
     array(
      'class' => 'CCheckBoxColumn', 
      'selectableRows' => 2, 
      'checkBoxHtmlOptions' => array(
       'name' => 'userids[]', 
      ), 
      'value'=>'$data->id',   
      'checked'=>function($data, $row) use ($current_reviewers){ 
       return in_array($data->id, $current_reviewers); 
      }    
     ), 
     'username', 

    ), 
)); ?> 


<div align="center"> 
     <?php echo CHtml::ajaxSubmitButton(Yii::t('reviewer','Update'),Yii::app()->createUrl('implementer/updatereviewer',array('id'=>$model->id)),array('success'=>'js: function(data) { 

         $("#reviewerlist").dialog("close"); 
        }'),array('id'=>'closeJobDialog')); ?> 
    </div> 
<?php $this->endWidget(); ?> 

이 내 컨트롤러

입니다
public function actionApproverlist($id) 
    { 
     $users = new Users('reviewerlist'); 
     //$users->scenario = "reviewerlist"; 
     $users->unsetAttributes(); // clear any default values 

     if(isset($_GET['Users'])) 
      $users->attributes=$_GET['Users']; 


     $model    = $this->loadModel($id); 
     $arr_reviewer   = Users::model()->get_reviewers(); 

     $current_reviewers = explode(',', $model->reviewers); 
     $reviewer_lastcomment = Yii::app()->generals->last_comment($model, $current_reviewers); 

     $this->renderPartial('listing',array('model' => $users, 'arr_reviewer' => $arr_reviewer, 'current_reviewers'=> $current_reviewers),false,true); 

    } 

    public function actionUpdatereviewer() 
    { 
     var_dump($_POST['userids']); 

    } 

c 방화범이 끌리는 네트워크에서 $ _POST [ 'userids']를 클릭하십시오. $ _POST [ 'userids']의 값을 볼 수 있습니다.

yii와 춤을 추자. Cheeer !!!

관련 문제