0

我在 jqgrid 中有一个下拉选择列,我正在从控制器操作动态填充下拉列表。当我编辑一行并从下拉列表中选择一个值并单击提交时,它会调用 editurl 中指定的控制器操作,但下拉选择列值是“未定义”。我被这个问题困扰了一段时间,请任何建议真的很有帮助。下面是我的javascript代码

jQuery("#list").jqGrid({
url: '/Home/Update/',
datatype: 'json',
mtype: 'POST',
colNames: [‘Name’, ‘Position’],
colModel: [
{name: ' Name', index: ' Name', width: 50, align: 'center', editable: true,   
searchoptions: { sopt: ['eq', 'ne', 'cn']} },           
{name: ' Position ', index: ' Position ', width: 75, align: 'center', editable: true, 
 edittype: 'select', formatter:'select',
 editoptions: {
 dataUrl: '/Home/GetNames/',                        
 style: "width: 120px",

 buildSelect: function (data) {
   var response = $.parseJSON(data); 
   var s = '<select>';
   for (var i = 0; i < response.rows.length; i++) {
    var r = response.rows[i];
    s += '<option value="' + r.Id + '">' + r.cell[0] + '</option>';
   }
   return s + "</select>";
  }
},
searchoptions: { sopt: ['eq', 'ne', 'cn']} }],
  ondblClickRow: function (row_id) {
                    jQuery(this).jqGrid('editGridRow', row_id);
                },
                pager: jQuery('#list'),
                height: '100%',
                rowNum: 200,
                sortname: ‘Name’,
                sortorder: "asc",
                editurl: '/Home/Create'
            });
4

1 回答 1

0

我解决了 dataEvents 属性的问题,如下所示:

dataEvents: [{
            type: 'change',
            fn: function (e) {
            var i = $(e.target.value);
             }
       }]

希望这可以帮助某人。

于 2012-08-09T15:30:48.683 回答