저는 Yii2를 사용하여 웹 기반 응용 프로그램을 작성하고 있습니다. 나는 Yii2의 GridView를 사용했고 일련의 버튼을 사용하는 부트 스트랩의 기본 페이지 매김 대신 페이지 매김을위한 드롭 다운을 사용하고 싶습니다. 내 GridView는 Pjax로 래핑됩니다.jQuery를 사용하여 Yii2 ActiveDataProvider의 페이지를 동적으로 설정하는 방법
<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 '의 값은 무엇입니까 –