我正在做与此问题类似的事情,在此我有一个复选框列表作为自定义编辑控件。区别在于我想从服务器获取列表(不是在客户端使用 Check1,Check2,Check3进行 硬编码)。
在列设置或 custom_element 函数中,有什么方法可以这样做吗?
似乎我需要与用于选择项的 dataUrl 属性类似的 东西 ,但这似乎仅适用于选择项(不适用于自定义项)。
有什么建议?
您可以在网格初始化期间使用任何list选项(准确地说是editoptions),然后用从服务器加载的实际数据覆盖该值:
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}}); } });