Hello yii team and other esteemed members,
i tried to find the above topic on a forum but i didnt got any solutions to it… i followed this link create new model which is created by Zaccaria. preety much good post which solved all of my problem but i am stuck at multiple delete…
can anybody please shade some light on it. below is my code
view => country/admin.php
<?php
$this->beginWidget('zii.widgets.jui.CJuiDialog', array( // the dialog
'id'=>'multipledelete',
'options'=>array(
'title'=>'Delete Multiple',
'autoOpen'=>false,
'modal'=>true,
'width'=>'auto',
'height'=>'auto',
'resizable'=>true,
),
));?>
<div class="multipledelete1"></div>
<?php $this->endWidget();?>
<div class="gridborder">
<div class="headblock"> Manage Countries</div>
<div class="restthing">
<?php $this->widget( 'ext.EUpdateDialog.EUpdateDialog', array(
'height' => 'auto',
'resizable' => true,
'width' => 'auto', )); ?>
<?php echo CHtml::link( 'Add Country', array( 'country/create' ), array(
'class' => 'update-dialog-create formlink' ) ); ?>
<?php $pageSize=Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']);?>
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'country-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'cssFile'=>Yii::app()->request->baseUrl.'/css/styles.css',
'selectableRows'=>'2',
'columns'=>array(
array(
'class'=>'CCheckBoxColumn',
'id'=>'selectedItems',
),
'country_name',
array(
'class'=>'CButtonColumn',
'template' => '{update}{delete}',
'deleteButtonUrl' => 'Yii::app()->createUrl(
"/country/delete",
array( "id" => $data->country_id ) )',
'deleteConfirmation'=>false,
'buttons' => array(
'delete' => array(
'click' => 'updateDialogDelete',
),
'update' => array(
'click' => 'updateDialogUpdate',
),
),
'header'=>CHtml::dropDownList('pageSize',
$pageSize,
array(20=>20,50=>50,100=>100),
array(
//
// change 'user-grid' to the actual id of your grid!!
'onchange'=>
"$.fn.yiiGridView.update('country-grid',{ data:{pageSize: $(this).val() }})",
)),
),
),
)); ?>
<?php echo CHtml::button('Delete', array('onclick' =>"{muldelete(); }",'class'=>'submitbutton')); ?>
</div>
<div class="clear"> </div>
</div>
<script type="text/javascript">
// here is the magic
function muldelete()
{
var selectionIds = $.fn.yiiGridView.getSelection("country-grid");
if (selectionIds.length!==0) {
$('#multipledelete').dialog('open');
<?php echo CHtml::ajax(array(
'url'=>array('country/deletemul'),
'data'=> "js:$(this).serialize()",
'type'=>'post',
'dataType'=>'json',
'success'=>"function(data)
{
if (data.status == 'failure')
{
$('#multipledelete div.multipledelete1').html(data.div);
// Here is the trick: on submit-> once again this function!
$('#multipledelete div.multipledelete1 form').submit(muldelete);
}
else
{
$('#multipledelete div.multipledelete1').html(data.div);
setTimeout(\"$('#multipledelete').dialog('close') \",500);
$.fn.yiiGridView.update('country-grid');
}
} ",
))?>;
}
else
{
alert("No Record Selected..");
}
return false;
}
</script>
controller =>CountryController.php
i am just trying to display view at the moment so no other code is written.
public function actionDeletemul()
{
$model = new Country;
$this->render( 'deletemul', array( 'model' => $model, ) );
}
view=> country/deletemul.php
<?php $form = $this->beginWidget( 'CActiveForm', array(
'id' => 'country-grid',
'enableAjaxValidation' => false,
'focus' => '#confirmDelete',
)); ?>
<div class="buttons">
<?php
echo CHtml::submitButton( 'Yes', array( 'name' => 'confirmDelete',
'id' => 'confirmDelete' ) );
echo CHtml::submitButton( 'No', array( 'name' => 'denyDelete' ) );
?>
<?php $this->endWidget(); ?>
Please can anybody help me out… looking forward to hear from you all…
Many thanks,
jay