>백엔드 개발 >C++ >확장된 JSON 응답을 사용하여 jqGrid 선택 옵션을 동적으로 채우는 방법은 무엇입니까?

확장된 JSON 응답을 사용하여 jqGrid 선택 옵션을 동적으로 채우는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-23 07:07:08826검색

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

jqGrid에 간접 데이터 표시

jqGrid는 간접 데이터를 표시하기 위한 "선택" 포맷터를 제공합니다. 그러나 이 포맷터에는 동적 채우기 옵션 측면에서 제한이 있습니다. 이 문제를 극복하기 위해 선택 옵션을 채우는 데 사용되는 추가 데이터를 포함하도록 서버의 JSON 응답을 확장할 수 있습니다.

원래 질문:

데이터 구조는 다음과 같습니다.

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

또 다른 테이블에는 도시 이름이 나와 있습니다.

CID CNAME
11 Chennai
12 Mumbai
13 Delhi

목표는 데이터를 다음과 같이 표시하는 것입니다.

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

확장 JSON 응답을 사용한 솔루션:

서버는 도시 ID를 도시 이름에 매핑하는 "cityMap" 속성을 포함하도록 JSON 응답을 확장할 수 있습니다.

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

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>

이 접근 방식을 사용하면 서버의 데이터를 기반으로 선택 옵션을 동적으로 채울 수 있습니다. 또한 서버 데이터를 기반으로 다른 열 옵션을 동적으로 설정하는 데 사용할 수도 있습니다.

위 내용은 확장된 JSON 응답을 사용하여 jqGrid 선택 옵션을 동적으로 채우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.