jqGrid按错误值编辑表单前缀。(第二次单击时)
我使用jqGrid插件。打开了栅格和子栅格。当我第二次单击以编辑主网格中的行时,字段会按错误的值填充。 复制的详细步骤:jqGrid按错误值编辑表单前缀。(第二次单击时),jqgrid,edit,subgrid,Jqgrid,Edit,Subgrid,我使用jqGrid插件。打开了栅格和子栅格。当我第二次单击以编辑主网格中的行时,字段会按错误的值填充。 复制的详细步骤: 单击“编辑行”(主栅格行) 编辑正确填充的表单,确定(参见第一个屏幕) 单击“取消”按钮 再次单击“编辑行” 编辑表格填充错误(参见第二个屏幕) 这是我的密码: $(function () { $("#list").jqGrid({ url: 'Country/CountryListPaged', editurl
$(function () {
$("#list").jqGrid({
url: 'Country/CountryListPaged',
editurl: "Country/AddEditDeleteCountry",
datatype: "json",
mtype: 'POST',
colModel: [
{ name: 'idCountry', index: 'idCountry', label: 'Id', width: 100, editable:true, hidden:true },
{ name: 'code', index: 'code', label: 'Код', width: 200, align:'center', editable: true, edittype:'text', editrules:{ required:true} },
{ name: 'title', index: 'title', label: 'Название', width: 300, align: 'center', editable: true, edittype: 'text', editrules: { required: true} }
],
pager: '#pager',
rowNum: 10,
rowList: [10, 20],
sortname: 'Title',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'Список стран',
height: 'auto',
autowidth: true,
scrollOffset: 0,
hidegrid: false,
subGrid: true,
subGridRowExpanded: function (subgridId, rowId) {
var subgridTableId, pagerId;
subgridTableId = subgridId + "_t";
pagerId = "p_" + subgridTableId;
var tmp = $("#list").getRowData(rowId);
var idCountry = tmp.idCountry;
var countryCode = tmp.code;
$("#" + subgridId).html("<table id='" + subgridTableId + "' class='scroll'></table><div id='" + pagerId + "' class='scroll'></div>");
jQuery("#" + subgridTableId).jqGrid({
url: "Country/CountryTranslateVariantsList?idCountry=" + idCountry + "&countryCode=" + countryCode,
editurl: "Country/AddEditDeleteCountryTranslateVariant",
mtype: "POST",
datatype: "json",
colModel: [{ name: "idCountryTranslate", index: "IdCountryTranslate", editable: true, hidden: true },
{ name: "countryTranslateCode", index: "countryTranslateCode", editable: true, hidden: true, edittype: "text", editoptions: { defaultValue: countryCode} },
{ name: "language", index: "Language", label: "Язык", width: 100, editable: true, edittype: "select", editoptions: { value: "en:en;ru:ru;fr:fr;de:de" }, editrules: { required: true} },
{ name: "countryTranslateTitle", index: "countryTranslateTitle", label: "Название", width: 180, editable: true, editrules: { required: true}}],
rowNum: 5,
pager: pagerId,
sortname: 'language',
sortorder: "asc",
viewrecords: true,
gridview: true,
height: '100%'
});
//SUB GRID NAVIGATION PANEL
jQuery("#" + subgridTableId).jqGrid('navGrid', "#" + pagerId,
{ edit: true, add: true, del: true, search: false, refresh: false },
{mtype: "POST", closeAfterEdit: true, reloadAfterSubmit: true }, //edit parameters
{mtype: "POST", closeAfterAdd: true, reloadAfterSubmit: true }, //add parameters
{mtype: "POST", reloadAfterSubmit: true, serializeDelData: function (postdata) {
var rowdata = $("#" + subgridTableId).getRowData(postdata.id);
return { oper: postdata.oper, idCountryTranslate: rowdata.idCountryTranslate };
}
}, //delete parameters
{}//search parameteres
);
}
});
//MAIN GRID NAVIGATION PANEL
jQuery("#list").jqGrid('navGrid', "#pager",
{ edit: true, add: true, del: true, search: false, refresh: true },
{ mtype: "POST", closeAfterEdit: true, reloadAfterSubmit: true }, //edit parameters
{mtype: "POST", closeAfterAdd: true, reloadAfterSubmit: true }, //add parameters
{mtype: "POST", reloadAfterSubmit: true, serializeDelData: function (postdata) {
var rowdata = $("#list").getRowData(postdata.id);
return { oper: postdata.oper, idCountry: rowdata.idCountry };
}
}, //delete parameters
{}//search parameteres
);
});
</script>
<div style="margin:10px auto auto auto;width:100%;height:100%;">
<table id="list">
<tr>
<td/>
</tr>
</table>
<div id="pager"></div>
$(函数(){
$(“#列表”).jqGrid({
url:“Country/CountryListPaged”,
editurl:“国家/添加的删除国家”,
数据类型:“json”,
mtype:“POST”,
colModel:[
{name:'idCountry',index:'idCountry',label:'Id',宽度:100,可编辑:true,隐藏:true},
{name:'code',index:'code',label:'kerköС',width:200,align:'center',edit:true,edittype:'text',editrules:{required:true},
{名称:“标题”,索引:“标题”,标签:“标题”,宽度:300,对齐:“中心”,可编辑:true,编辑类型:“文本”,编辑规则:{required:true}
],
寻呼机:“#寻呼机”,
rowNum:10,
行列表:[10,20],
sortname:“标题”,
排序器:“desc”,
viewrecords:是的,
gridview:没错,
描述:“СПаааа”,
高度:“自动”,
自动宽度:正确,
滚动偏移量:0,
希德格里德:错,
子网格:对,
subGridRowExpanded:函数(subgridId,rowId){
var subgridTableId,pagerId;
subgridTableId=subgridId+“\t”;
pagerId=“p_”+子网格表ID;
var tmp=$(“#列表”).getRowData(rowId);
var idCountry=tmp.idCountry;
var countryCode=tmp.code;
$(“#”+subgridId).html(“”);
jQuery(“#”+subgridTableId).jqGrid({
url:“Country/CountryTranslateVariantsList?idCountry=“+idCountry+”&countryCode=“+countryCode,
editurl:“国家/增补删除国家/翻译变量”,
mtype:“POST”,
数据类型:“json”,
colModel:[{name:“idCountryTranslate”,索引:“idCountryTranslate”,可编辑:true,隐藏:true},
{name:“countryTranslateCode”,index:“countryTranslateCode”,可编辑:true,隐藏:true,edittype:“text”,editoptions:{defaultValue:countryCode},
{名称:“语言”,索引:“语言”,标签:“语言”,宽度:100,可编辑:真,编辑类型:“选择”,编辑选项:{值:“en:en;ru:ru;fr:fr;de:de”},编辑规则:{必需:真},
{名称:“countryTranslateTitle”,索引:“countryTranslateTitle”,标签:“зззааааааааааааа1072,
行数:5,
寻呼机:寻呼机,
sortname:“语言”,
分拣员:“asc”,
viewrecords:是的,
gridview:没错,
身高:“100%”
});
//子网格导航面板
jQuery(“#”+subgridTableId).jqGrid('navGrid',“#”+pagerId,
{编辑:真,添加:真,删除:真,搜索:假,刷新:假},
{mtype:“POST”,closeAfterEdit:true,reloadAfterSubmit:true},//编辑参数
{mtype:“POST”,closeAfterAdd:true,reloadAfterSubmit:true},//添加参数
{mtype:“POST”,reloadAfterSubmit:true,serializedDelData:function(postdata){
var rowdata=$(“#”+subgridTableId).getRowData(postdata.id);
返回{oper:postdata.oper,idCountryTranslate:rowdata.idCountryTranslate};
}
},//删除参数
{}//搜索参数
);
}
});
//主栅格导航面板
jQuery(“#list”).jqGrid('navGrid',“#pager”,
{编辑:真,添加:真,删除:真,搜索:假,刷新:真},
{mtype:“POST”,closeAfterEdit:true,reloadAfterSubmit:true},//编辑参数
{mtype:“POST”,closeAfterAdd:true,reloadAfterSubmit:true},//添加参数
{mtype:“POST”,reloadAfterSubmit:true,serializedDelData:function(postdata){
var rowdata=$(“#list”).getRowData(postdata.id);
返回{oper:postdata.oper,idCountry:rowdata.idCountry};
}
},//删除参数
{}//搜索参数
);
});
我找到了原因。包含了“grid.subgrid.js”文件,这导致了问题。Oleg,谢谢您的回复。您发布的信息无法重现问题。看见你应该另外发布测试数据。你是说json?如果是,那么对于主网格我有下一个json{“page”:1,“total”:1,“records”:2,“rows”:[{“cell”:[“8”、“ukr”、“Уаааа”},{“cell”:[“9”、“rus”、“rus”、“rus”]},{“cell”:[“21”、“ukr”、“ru”、“ru”、“Уаааааааааа”},},{“cell”:“22”、“ukr”、“en”、“en”、“乌克兰”},{“cell”],{“cell”:“23”、“ukr”、“uk}]}