一尘不染

在jqGrid中,是否仍然可以使用Ajax获取custom_element的数据?

ajax

我正在做与此问题类似的事情,在此我有一个复选框列表作为自定义编辑控件。区别在于我想从服务器获取列表(不是在客户端使用
Check1,Check2,Check3进行 硬编码)。

在列设置或 custom_element 函数中,有什么方法可以这样做吗?

似乎我需要与用于选择项的 dataUrl 属性类似的 东西 ,但这似乎仅适用于选择项(不适用于自定义项)。

有什么建议?


阅读 380

收藏
2020-07-26

共1个答案

一尘不染

您可以在网格初始化期间使用任何list选项(准确地说是editoptions),然后用从服务器加载的实际数据覆盖该值:

$("#list").jqGrid({
    colModel: [
        {name:'MyMultiCheck',edittype:'custom',
         editoptions:{custom_element:MultiCheckElem,
                      custom_value:MultiCheckVal,list:''}
        }
        ...
    ]
    ...
});
$.ajax({
    url:"getMultiCheckList",
    // any other parameters like dataType:'json',
    // type: 'POST' (default type is 'GET') which depend on the server
    success: function(data){
        // the code here depend on the format of data returned from the server
        // in the simplest situation we have as data already the comma-separated
        // string which we need as a value for the list parameter so we can do
        jQuery("#list").setColProp('MyMultiCheck',{editoptions:{list:data}});
    }
});
2020-07-26