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
Lepaskan: 2025-01-23 07:07:08
asal
791 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan