我在列中使用select类型,当我从网格数据生成xml时,我无法获得select类型单元格的值。
这是我的代码:
{name:'code',index:'code', width:80, sorttype:"int" , editable:true,edittype:"select",
editoptions:
{
value:"1:11 ;2:22" }
并生成xml:
var dataFromGrid = grid.jqGrid ('getRowData');
var xml = xmlJsonClass.json2xml ({Row: dataFromGrid}, '\t');
我进入了“1”的xml“11”内部。
我如何获得期权价值?
感谢提前。
答案 0 :(得分:1)
我必须在本地处理模式下执行此操作:
var rows = jQuery(this).getRowData();
var cols = jQuery(this).jqGrid('getGridParam', 'colModel');
for (var col in cols) {
if (cols[col].edittype == 'select') {
var VALs = cols[col].editoptions.value;
if (typeof (VALs) == "object") {
for (var row in rows) {
for (var v in VALs) {
if (rows[row][cols[col].name] == VALs[v]) {
rows[row][cols[col].name] = v;
break;
}
}
}
}
}
}
答案 1 :(得分:0)
如果使用datatype:"xmlstring"
,则在填充网格后,它将更改为“本地”数据类型。因此,在datatype:"local"
的情况下,网格具有内部data
参数,表示网格数据,而不是您收到的当前数据页面的可视化
var dataFromGrid = grid.jqGrid ('getRowData');
所以我建议你使用
var dataFromGrid = grid.jqGrid ('getGridParam', 'data');
从网格中获取数据。
答案 2 :(得分:0)
如果您只需要数据中的所选ID,则可以指定formatter: 'select'
...
{
name: 'unit', index: 'unit', editable: true, formatter: 'select', edittype: 'select', editrules: { required: true }, editoptions: { value: "1:11 ; 2:22" }
},
...
然后重新检索网格数据:
var griddata = $('#gridID').getGridParam('data');
alert(JSON.stringify(griddata));