在JQGrid中-如何以编程方式在“编辑”对话框中的字段中设置值
我在web应用程序中使用JQGrid和Spring+Hibernate。我创建了一个功能,JQGrid在其中打开一个编辑对话框,用于编辑选定的行,我在其中创建了一个自定义按钮。当用户单击此自定义按钮时,将打开一个对话框,用户将从此对话框中选择一行。当用户单击“确定”时,控件移回JQGrid编辑对话框。 我只想在JQgrid编辑对话框的字段中复制从对话框中为字段选择的值。我能够从全局javascript变量中的对话框中获取值,但无法在JQGrid编辑对话框字段中设置它。请帮我做这个 我的javascript文件中的相关代码粘贴如下:在JQGrid中-如何以编程方式在“编辑”对话框中的字段中设置值,jqgrid,Jqgrid,我在web应用程序中使用JQGrid和Spring+Hibernate。我创建了一个功能,JQGrid在其中打开一个编辑对话框,用于编辑选定的行,我在其中创建了一个自定义按钮。当用户单击此自定义按钮时,将打开一个对话框,用户将从此对话框中选择一行。当用户单击“确定”时,控件移回JQGrid编辑对话框。 我只想在JQgrid编辑对话框的字段中复制从对话框中为字段选择的值。我能够从全局javascript变量中的对话框中获取值,但无法在JQGrid编辑对话框字段中设置它。请帮我做这个 我的javas
function JQDialog(title, contentUrl, params) {
var dialog1 = $("#codesdlg").dialog(
{
autoOpen: false,
modal: true,
title: title,
zIndex: 1000,
close: function (e, ui) { dialog1.remove(); },
buttons: { "Ok": function ()
{
alert("Selected A/c Code: " + selAccode + ' - '+selAcDescr);
$('#TblGrid_list').$('#tr_acccode').val(selAccode);
dialog1.dialog("close"); }
}
});
dialog1.load(contentUrl, function () {
dialog1.dialog('open');
});
// dialog1.load(contentUrl).dialog('open');
};
$("#list").jqGrid('navGrid','#pager',{edit:true,add:true,del:true,search:true,refresh:false},
{
recreateForm: true, dataheight: 375, width: 400, height: 450, zIndex:75,
beforeShowForm: function(form) {$('#tr_ccode',form).hide();
$('<a href="#">Select<span class="ui-icon ui-icon-search"></span></a>')
.click(function(rowid, iRow, iCol, cellValue, e) {
JQDialog("Test Dialog","../acctmstmgmt/opendlg",rowid);
// var rowData = jQuery(this).getRowData(rowid);
// rowData.acccode = selAccode;
// $('#list').jqGrid('setRowData', rowid, rowData);
// $("#list").jqGrid("setCell", rowid, "acccode", selAccode);
// alert(selAccode);
// $('#trv_acccode').val(selAccode);
// window.open("../acctmstmgmt/opendlg", 'Dialog', 'width=700,height=300', top=500, left=500 );
}).addClass("fm-button ui-state-default ui-corner-all fm-button-icon-left")
.appendTo("#tr_acccode");
}
},
{
recreateForm: true, dataheight: 375, width: 400, height: 450, zIndex:75,
beforeShowForm: function(form) {$('#tr_ccode',form).show();
$('<a href="#">Select<span class="ui-icon ui-icon-search"></span></a>')
.click(function() {
alert('Clicked');
}).addClass("fm-button ui-state-default ui-corner-all fm-button-icon-left")
.appendTo("#tr_acccode");
}
},
{
},
{ // search
sopt:['cn', 'eq', 'ne', 'lt', 'gt', 'bw', 'ew'],
closeOnEscape: true,
multipleSearch: true,
closeAfterSearch: true
});
});
$.jgrid.edit = {
addCaption: "Add Codes Master",
editCaption: "Edit Codes Master",
bSubmit: "Submit",
bCancel: "Cancel",
bClose: "Close",
bYes : "Yes",
bNo : "No",
bExit : "Cancel",
closeAfterAdd:true,
closeAfterEdit:true,
reloadAfterSubmit:true,
modal:true,
msg: {
required: "is mandatory or required",
number: "is a number field. Enter a valid number",
minValue: "should not be less than ",
maxValue: "should not be more than "
},
errorTextFormat: function (response) {
if (response.status !== 200) {
return '<div style="overflow-y: scroll;">'+
"Error encountered while processing. Please check the accuracy of data entered.-" + response.status + " "+response.responseText
+ '</div>';
}
},
函数JQDialog(标题、内容URL、参数){
var dialog1=$(“#codesdlg”).dialog(
{
自动打开:错误,
莫代尔:是的,
标题:标题,,
zIndex:1000,
关闭:函数(e,ui){dialog1.remove();},
按钮:{“确定”:函数()
{
警报(“所选A/c代码:“+selAccode+'-'+selAcDescr”);
$('TblGrid_list').$('tr#u acccode').val(selAccode);
dialog1.dialog(“关闭”);}
}
});
dialog1.load(contentUrl,函数(){
对话1.对话(“打开”);
});
//dialog1.load(contentUrl.dialog('open');
};
$(“#list”).jqGrid('navGrid','#pager',{edit:true,add:true,del:true,search:true,refresh:false},
{
重新创建窗体:true,数据高度:375,宽度:400,高度:450,zIndex:75,
beforeShowForm:function(form){$('tr#uccode',form).hide();
$('')
.单击(函数(rowid、iRow、iCol、cellValue、e){
JQDialog(“测试对话框”,”。/acctmstmgmt/opendlg),rowid);
//var rowData=jQuery(this).getRowData(rowid);
//rowData.acccode=selAccode;
//$('#list').jqGrid('setRowData',rowid,rowData);
//$(“#列表”).jqGrid(“setCell”,rowid,“acccode”,selackode);
//警觉(赛乐高);
//$('trv#u acccode').val(selAccode);
//window.open(“../acctmstmgmt/opendlg”,“Dialog”,“width=700,height=300”,“top=500,left=500”);
}).addClass(“fm按钮ui状态默认ui角所有fm按钮图标左侧”)
.附录(“#tr#acccode”);
}
},
{
重新创建窗体:true,数据高度:375,宽度:400,高度:450,zIndex:75,
beforeShowForm:function(form){$('tr#uccode',form).show();
$('')
。单击(函数(){
警报(“点击”);
}).addClass(“fm按钮ui状态默认ui角所有fm按钮图标左侧”)
.附录(“#tr#acccode”);
}
},
{
},
{//搜索
sopt:[cn',eq',ne',lt',gt',bw',ew'],
closeOnEscape:没错,
多重搜索:对,
closeAfterSearch:对
});
});
$.jgrid.edit={
addCaption:“添加代码主控”,
editCaption:“编辑代码主控”,
b提交:“提交”,
取消:“取消”,
关闭:“关闭”,
是:“是的”,
否:“否”,
bExit:“取消”,
closeAfterAdd:true,
closeAfterEdit:true,
reloadAfterSubmit:对,
莫代尔:是的,
味精:{
必需:“是必需的或必需的”,
数字:“是数字字段。请输入有效数字”,
minValue:“不应小于”,
maxValue:“不应超过”
},
errorTextFormat:函数(响应){
如果(response.status!==200){
返回“”+
处理时遇到错误。请检查输入数据的准确性。-“+response.status+”“+response.responseText”
+ '';
}
},
我已经用以下代码解决了问题
只需将以下代码放入“Ok”按钮功能中
$('#acccode').val(selAccode)
这里acccode是colModel字段,selAcccode是全局javascript变量,其中值位于编辑表单字段中