Я работаю с yii GridView и создаю пользовательскую кнопку - который обрабатывает запрос ajax.Yii Gridview пользовательская кнопка ajax success не работает должным образом
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider' => $dataProvider,
'id' => 'user-grid',
'ajaxUpdate' => true,
'columns' => array(
array(
'name' => 'date_create',
'type' => 'raw',
'value' => function($data){
return Yii::app()->dateFormatter->format("y/MM/dd",strtotime($data->date_create)).'</br>'.
Yii::app()->dateFormatter->format("HH:mm:ss",strtotime($data->date_create));
},
'htmlOptions' => array('style' => 'white-space: nowrap'),
),
array(
//'name' => 'car.model.brand.title',
'header' => 'Марка авто',
//'value' => 'CHtml::encode($data->car->model->brand->title) . " " . CHtml::encode($data->car->model->title)',
'htmlOptions' => array('style' => 'white-space: nowrap'),
'class' => 'CLinkColumn',
'urlExpression' => '"/site/car/".$data->id_car',
'labelExpression' => 'CHtml::encode($data->car->model->brand->title) . " " . CHtml::encode($data->car->model->title)',
),
array(
'name' => 'text',
'value' => 'CHtml::encode($data->text)',
),
array(
'class' => 'CButtonColumn',
'template' => '{solved}{deleted}',
'buttons' => array(
'solved' => array(
'label' => 'Жалоба решена',
'url' => 'yii::app()->controller->createurl("admin/adminForms/complaintChangeStatus", array("id" => $data->id,"status" => FormCarComplainStatus::STATUS_SOLVED))',
'options' => array (
'confirm' => 'Жалоба решена?',
'class' => 'btn',
'ajax'=>array(
'type'=>'POST',
'url'=>"js:$(this).attr('href')",
'success' => "js:$.fn.yiiGridView.update('user-grid')"
)),
),
'deleted' => array(
'label' => 'Удалить жалобу',
'url' => 'yii::app()->controller->createurl("admin/adminForms/complaintChangeStatus", array("id" => $data->id,"status" => FormCarComplainStatus::STATUS_DELETED))',
'options' => array (
'class' => 'btn',
'confirm' => 'Удалить жалобу?',
'ajax'=>array(
'type'=>'POST',
'url'=>"js:$(this).attr('href')",
'success' => "js:$.fn.yiiGridView.update('user-grid')"
)),
)
),
'htmlOptions' => array('width'=>'150px')
),
),
));
И я хочу, чтобы обновить GridView После Ajax вызова закончилась Как вы видите, я использую - 'success' => "js:$.fn.yiiGridView.update('user-grid')"
Проблема:. код «JS: $ fn.yiiGridView.update ('user- grid ') "работать не после завершения ajaxCall - он не дожидается до тех пор, пока ответ не появится на сервере форм. Он работает сразу после нажатия кнопки
Что я делаю неправильно?
заранее благодарим
Большое спасибо - он хорошо работает. Это то, что мне нужно – programmer
@programmer. Вы должны принять правильный ответ. – Joe