Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengisi Pilihan Pilih jqGrid Secara Dinamik Menggunakan Respons JSON Lanjutan?

Bagaimana untuk Mengisi Pilihan Pilih jqGrid Secara Dinamik Menggunakan Respons JSON Lanjutan?

Linda Hamilton
Linda Hamiltonasal
2025-01-23 07:07:08853semak imbas

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

Paparkan data tidak langsung dalam jqGrid

jqGrid menyediakan pemformat "pilih" untuk memaparkan data tidak langsung. Walau bagaimanapun, pemformat ini mempunyai had dari segi pilihan pengisian dinamik. Untuk mengatasi masalah ini, respons JSON daripada pelayan boleh dilanjutkan untuk memasukkan data tambahan yang digunakan untuk mengisi pilihan pemilihan.

Soalan asal:

Struktur data adalah seperti berikut:

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

Jadual lain menyediakan nama bandar:

CID CNAME
11 Chennai
12 Mumbai
13 Delhi

Matlamatnya ialah untuk memaparkan data sebagai:

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

Penyelesaian menggunakan respons JSON lanjutan:

Pelayan boleh melanjutkan respons JSON untuk memasukkan atribut "cityMap" yang memetakan ID bandar kepada nama bandar:

<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>

Konfigurasi jqGrid:

<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>

Pendekatan ini membolehkan pilihan pemilihan diisi secara dinamik berdasarkan data daripada pelayan. Ia juga boleh digunakan untuk menetapkan pilihan lajur lain secara dinamik berdasarkan data pelayan.

Atas ialah kandungan terperinci Bagaimana untuk Mengisi Pilihan Pilih jqGrid Secara Dinamik Menggunakan Respons JSON Lanjutan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn