jqgrid从单元格内的组合框中获取值

时间:2011-03-02 12:24:37

标签: jqgrid

我在列中使用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”内部。

我如何获得期权价值?

感谢提前。

3 个答案:

答案 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));