我正在使用jqgrid,那里有太多选项。 我想要做的是设置预定义的选项,并在以后使用它。
//my predefined options
var edit_options = {
editrules:
{
required:true
,edithidden:true
,editable:true
}
然后执行
jGrid.jqGrid({
...
colNames:['id','Code', 'Name'],
colModel:[
//id
{name:'sample_id'
,index:'sample_id'
},
//Code
{name:'sample_code'
,index:'sample_code'
,edit_options
},
//Name
{name:'sample_name'
,index:'sample_name'
,edit_options
}
当然'edit_options'会出错。如何正确地做到这一点? 我只想要第二个和第三个选项来使用预定义的选项。 我正在看$ .extend(),但无法正确判断它。
答案 0 :(得分:0)
有一些语法错误。首先,}
末尾缺少edit_options
。
{name:'sample_id'
,index:'sample_id'
,edit_options
},
此代码错误,您必须为第三个成员指定名称。你必须这样做:
{name:'sample_id'
,index:'sample_id'
, options : edit_options // Replace 'options' by the good name
},
答案 1 :(得分:0)
您可以使用jQuery的extend
- 方法:
jGrid.jqGrid({
...
colNames:['id','Code', 'Name'],
colModel:[
$.extend(true,
{
name:'sample_code',
index:'sample_code'
},
editOptions
),
$.extend(true, setupCode, editOptions),
$.extend(true, setupCode, editOptions)
]
});
此方法采用任意数量的对象,并将每个对象的属性依次复制到第一个对象中。请注意,如果多次存在相同的密钥,则当前值将被新密钥覆盖。