我在我的coldfusion项目中有一个基本的jqGrid工作.我在jqGrid中的一个字段是一个组合框.目前,editoption值是硬编码的,如下所示.
colModel :
[
{
name:'seqnum',index:'seqnum', width:100,resizable:true,
align:"left",sorttype:"text",editable:true,edittype:"select",editoptions:
{ value:"1:one;2:two"},editrules:{required:true}
}
]
Run Code Online (Sandbox Code Playgroud)
我试图找出一种方法来填充查询/网址的下拉列表.
任何帮助将不胜感激.
提前致谢
创建一个使用json查询url的函数.此函数应返回格式为"1:one; 2:two"的字符串.
例如:
colModel :
[
{
name:'seqnum',index:'seqnum', width:100,resizable:true,
align:"left",sorttype:"text",editable:true,edittype:"select",editoptions:
{ value:getSequenceNumbers()},editrules:{required:true}
}
]
function getSequenceNumbers(){
$.getJSON("yourUrl", null, function(data) {
if (data != null) {
//construct string.
//(or the server could return a string directly)
}
});
}
Run Code Online (Sandbox Code Playgroud)
我想你也可以将函数内联,但我认为它会更难阅读.
$ .getJSON/getSequenceNumbers()答案不起作用.无法从回调中返回数据作为getSequenceNumbers()的返回值,因为回调是异步的.您需要使用Martin建议的dataURL方法或在$ .getJSON回调中设置jqGrid.
$(document).ready(function() {
$.getJSON("GetURL", function(data) {
setupGrid(data);
});
});
function setupGrid(data) {
...
colModel :
[
{
name:'seqnum',index:'seqnum', width:100,resizable:true,
align:"left",sorttype:"text",editable:true,edittype:"select",editoptions:
{ value:data},editrules:{required:true}
}
]
...
}
Run Code Online (Sandbox Code Playgroud)