Heim > Backend-Entwicklung > C++ > Wie fülle ich jqGrid-Auswahloptionen mithilfe erweiterter JSON-Antworten dynamisch auf?

Wie fülle ich jqGrid-Auswahloptionen mithilfe erweiterter JSON-Antworten dynamisch auf?

Linda Hamilton
Freigeben: 2025-01-23 07:07:08
Original
790 Leute haben es durchsucht

How to Dynamically Populate jqGrid Select Options Using Extended JSON Responses?

Indirekte Daten in jqGrid anzeigen

jqGrid bietet einen „select“-Formatierer zur Anzeige indirekter Daten. Allerdings weist dieser Formatierer Einschränkungen hinsichtlich der dynamischen Fülloptionen auf. Um dieses Problem zu lösen, kann die JSON-Antwort vom Server um zusätzliche Daten erweitert werden, die zum Auffüllen der Auswahloptionen verwendet werden.

Ursprüngliche Frage:

Die Datenstruktur ist wie folgt:

SID SNAME CITY
1 ABC 11
2 XYZ 12
3 ACX 13
4 KHG 14
5 ADF 15
6 KKR 16

Eine weitere Tabelle enthält Städtenamen:

CID CNAME
11 Chennai
12 Mumbai
13 Delhi

Das Ziel besteht darin, die Daten wie folgt anzuzeigen:

SID SNAME CITY
1 ABC Chennai
2 XYZ Mumbai
3 ACX Delhi
4 KHG Banglore
5 ADF Hyderabad
6 KKR Kolkatta

Lösung mit erweiterter JSON-Antwort:

Der Server kann die JSON-Antwort um ein „cityMap“-Attribut erweitern, das Stadt-IDs Städtenamen zuordnet:

<code>{
    "cityMap": {"11": "Chennai", "12": "Mumbai", "13": "Delhi"},
    "rows": [
        { "SID": "1",  "SNAME": "ABC", "CITY": "11" },
        { "SID": "2",  "SNAME": "XYZ", "CITY": "12" },
        { "SID": "3",  "SNAME": "ACX", "CITY": "13" },
        { "SID": "4",  "SNAME": "KHG", "CITY": "13" },
        { "SID": "5",  "SNAME": "ADF", "CITY": "12" },
        { "SID": "6",  "SNAME": "KKR", "CITY": "11" }
    ]
}</code>
Nach dem Login kopieren

jqGrid-Konfiguration:

<code>colModel: [
    {name: "SNAME", width: 250},
    {name: "CITY", width: 180, align: "center"}
],
beforeProcessing: function (response) {
    var $self = $(this);
    $self.jqGrid("setColProp", "CITY", {
        formatter: "select",
        edittype: "select",
        editoptions: {
            value: $.isPlainObject(response.cityMap) ? response.cityMap : []
        }
    });
},
jsonReader: { id: "SID"}</code>
Nach dem Login kopieren

Dieser Ansatz ermöglicht das dynamische Auffüllen von Auswahloptionen basierend auf Daten vom Server. Es kann auch verwendet werden, um andere Spaltenoptionen basierend auf Serverdaten dynamisch festzulegen.

Das obige ist der detaillierte Inhalt vonWie fülle ich jqGrid-Auswahloptionen mithilfe erweiterter JSON-Antworten dynamisch auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage