我在jqgrid中有一个下拉选择列,我从控制器操作动态填充下拉列表。当我编辑一行并从下拉列表中选择一个值并单击Submit时,它会调用editurl中指定的控制器操作,但下拉选择列值为“undefined”。我暂时坚持这个问题,请任何建议真的有用。以下是我的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'
});
答案 0 :(得分:0)
我用dataEvents属性解决了这个问题,如下所示:
dataEvents: [{
type: 'change',
fn: function (e) {
var i = $(e.target.value);
}
}]
希望这有助于某人。