2010-06-17 2 views
13

Когда «Создать» модальное диалоговое окно отправляется через XHR Затем строки в Yii CGridView должны быть обновлены.Можно ли обновить Yii CGridView от js?

Я пытался добиться этого путем предоставления нового GridView в XHR «создать» действие, а затем вставить его в страницу с помощью $("#list").html(response), но рендеринг CGridView вызывает JQuery <script> включает метки должны быть зарегистрированы для включения и т.д. когда я ввожу те теги на страницу, они перезагружают jQuery, который уничтожает мои обработчики событий live, так что куча вещей ломается.

Что я думаю: «GridView знает, как обновить себя. Heck, он делает все время на сортировке или странице».

Так что я могу нажать кнопку сортировки в GridView от js, но это меньше, чем Ideal. Я бы предпочел сказать

$ ("# list"). Gridview ('reload') или $ .fn.gridview.reload ("# list") или некоторый такой смысл.

Или сделайте так, как это здорово, что намного проще, чем вы только что подумали.

ответ

46

Execute $.fn.yiiGridView.update("<id of CGridView>");

+0

Неудобство этой команды является то, что он сбрасывает фильтры, сортировку и разбиение на страницы. Поэтому, если вы заказываете товары по идентификатору, перейдите на вторую страницу и, чем вы вызываете эту команду, текущий экран будет потерян, и вам нужно будет снова найти свой товар. – Racky

+1

Я думаю, что этот ответ должен быть принят. – ivkremer

+1

$ .fn.yiiListView.update ("", { данные: $ ("yourcustomselectors"). Serialize() }); –

Смежные вопросы