1. Fügen Sie eine benutzerdefinierte Klasse oder ID zum pjax-Container hinzu
Fügen Sie entweder Klasse oder ID zu Ihrem pjax Container mit GridView hinzu, so dass Sie nicht von automatisch generierten Klassen und IDs abhängig sind (oder falls Sie mehrere GridView Widgets auf einer Seite haben).
kartik\grid\CheckboxColumn
ist nur eine erweiterte Version von yii \ grid \ CheckboxColumn .
kartik\grid\View
hat containerOptions
, Sie können hier class
angeben, es scheint, dass id
automatisch generiert wird und nicht mit dieser Eigenschaft geändert werden kann.
Beispiel für generierte Ausgabe:
%Vor% yii\grid\View\
hat options
, Sie können hier id
angeben. Der ID des Ergebniscontainers wird der übergebene Wert vorangestellt, z. B.
Generierte Ausgabe:
%Vor%Die Klasse wird in diesem Fall ignoriert.
Ich empfehle die Angabe von ID.
2. Erstellen oder ändern Sie eine Aktion zum Löschen im Controller
Standardmäßig hat delete
action automatisch generiert mit gii
eine Weiterleitung, so dass wir erstellen können
eine weitere Aktion für das mehrfache Löschen (oder Sie können das in einem handhaben, es liegt an Ihnen).
Beachten Sie, dass alle Datensätze in der Tabelle gelöscht werden, wenn Sie in deleteAll()
keine Bedingung angegeben haben. Sei genau damit.
Sie können die Aktion auch in VerbFilter
wie folgt angeben:
3. Schreibe etwas Javascript, um alles zusammen zu binden
Sie können Primärschlüssel ausgewählter Zeilen wie folgt erhalten:
%Vor%Fügen Sie dieses Javascript hinzu (um zum Beispiel auf die Schaltfläche zu klicken):
%Vor% Sie finden weitere Informationen zum Aktualisieren des GridView mit pjax in diesem Problem .
Vielleicht versuchen Sie dies: $('#hotel-pjax-container').yiiGridView('applyFilter');
als Alternative;
Schließen Sie js mit Assets oder nur mit registerJs()
;
Probieren Sie es aus, ich hoffe, dass Ihnen das hilft, anstatt% cco_de% verwenden Sie kartik\grid\CheckboxColumn
Schritt 1: Erstellen Sie eine Schaltfläche für mehrere löschen in index.php
%Vor%Schritt 2: Verwenden Sie in Ihrer index.php (gleiche Seite) dieses Javascript
%Vor%Diese jquery wird verwendet, um den Wert (id) der ausgewählten Zeile
zu erhaltenSchritt 3: im Controller des Hotels (HotelController.php) Erstellen Sie eine Aktion für das mehrfache Löschen
%Vor%Versuchen Sie das sicher, das wird Ihnen helfen ...