如何在Yii2中利用gridview實現(xiàn)一個批量刪除功能?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
1、gridview設(shè)置options時增加一個id 這里我們命名grid
'options' => [ // ...其他設(shè)置項 'id' => 'grid' ],
2、columns增加選項復(fù)選框,批量刪除必然不可少了復(fù)選框操作,這里我們的name值設(shè)定為id,方便對數(shù)據(jù)操作
[ 'class' => 'yii\grid\CheckboxColumn', 'name' => 'id', ],
3、頁面上我們增加一個批量刪除按鈕,注意這里我們增加了一個class gridview,方便后面js實現(xiàn)點擊效果
= Html::a('批量刪除', "javascript:void(0);", ['class' => 'btn btn-success gridview']) ?>
4、最后一步,寫js實現(xiàn)按鈕操作,打開你的console看看,我們很輕松的就拿到了選中的行的id,然后這里就可以異步操作數(shù)據(jù)了。
registerJs(' $(".gridview").on("click", function () { //注意這里的$("#grid"),要跟我們第一步設(shè)定的options id一致 var keys = $("#grid").yiiGridView("getSelectedRows"); console.log(keys); }); '); ?>
下面貼上完整代碼
GridView::widget([ // ...... 'options' => ['class' => 'grid-view','style'=>'overflow:auto', 'id' => 'grid'], // ...... 'columns' => [ // ...... [ 'class' => 'yii\grid\CheckboxColumn', 'name' => 'id', ], // ...... ], ]); $this->registerJs(' $(".gridview").on("click", function () { var keys = $("#grid").yiiGridView("getSelectedRows"); console.log(keys); }); ');
看完上述內(nèi)容,你們掌握如何在Yii2中利用gridview實現(xiàn)一個批量刪除功能的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!