在JQGrid中-如何以编程方式在“编辑”对话框中的字段中设置值

在JQGrid中-如何以编程方式在“编辑”对话框中的字段中设置值,jqgrid,Jqgrid,我在web应用程序中使用JQGrid和Spring+Hibernate。我创建了一个功能,JQGrid在其中打开一个编辑对话框,用于编辑选定的行,我在其中创建了一个自定义按钮。当用户单击此自定义按钮时,将打开一个对话框,用户将从此对话框中选择一行。当用户单击“确定”时,控件移回JQGrid编辑对话框。 我只想在JQgrid编辑对话框的字段中复制从对话框中为字段选择的值。我能够从全局javascript变量中的对话框中获取值,但无法在JQGrid编辑对话框字段中设置它。请帮我做这个 我的javas

我在web应用程序中使用JQGrid和Spring+Hibernate。我创建了一个功能,JQGrid在其中打开一个编辑对话框,用于编辑选定的行,我在其中创建了一个自定义按钮。当用户单击此自定义按钮时,将打开一个对话框,用户将从此对话框中选择一行。当用户单击“确定”时,控件移回JQGrid编辑对话框。 我只想在JQgrid编辑对话框的字段中复制从对话框中为字段选择的值。我能够从全局javascript变量中的对话框中获取值,但无法在JQGrid编辑对话框字段中设置它。请帮我做这个

我的javascript文件中的相关代码粘贴如下:

     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变量,其中值位于编辑表单字段中