Yii2を使用してWebベースのアプリケーションを構築しています。私はYii2のGridViewを使い、一連のボタンを使ったブートストラップのデフォルトページネーションの代わりにページネーションのドロップダウンを使いたいと思っています。私のGridViewはPjaxでラップされています。サーバー側ではYii2 ActiveDataProviderのページをjqueryで動的に設定する方法
<div class="custom-pagination">
Page <?=Html::dropDownList('myPagination', '1', $pageOptions);?> Of <?=$pageCount;?>
</div>
//********
my gridview which is wrapped by pjax
//********
<script type="text/javascript">
var base = "<?=Yii::$app->request->getAbsoluteUrl();?>";
$(".custom-pagination select").on('change', function(e){
$.get(base, {'page': $(this).val()}, function(data) {
$.pjax.reload({container:'#kv-grid-demo-pjax', url: base});
});
});
</script>
:これは私の現在のコードです
public function actionIndex()
{
$searchModel = new RotaryInputSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$pageCount = ceil($dataProvider->getTotalCount()/$dataProvider->getPagination()->getPageSize());
$pageOptions = array();
for($i=1; $i<=$pageCount; $i++) {
$pageOptions[$i] = $i;
}
if (isset($_GET['page'])) {
$dataProvider->pagination->page = $_GET['page'];
echo json_encode('success');
die();
}
return $this->render('index', [
'dataProvider' => $dataProvider,
'searchModel' => $searchModel,
'pageCount' => $pageCount,
'pageOptions' => $pageOptions,
]);
}
pjaxの作業とグリッドがリロードされるが、それは他のページに変わりはありませんし、私が持っている1ページのまま私はこれで何をすべきか分かりません。助けてください...コードに続いて
のため正常に動作し、JS、これはこれは私が私のコントローラを持っているすべては、あなたの問題 –
を理解するための十分ではありません、 jsとビュー。他に何を知りたいですか? –
jqueryのgetメソッドの変数 'base 'の値は何ですか? –