刷新Jquery对话框内容+ JSF

时间:2013-04-07 02:00:17

标签: jquery jsf html dialog refresh

我需要显示一个记录表,其中每行上都有一个锚标记点击,这将打开一个Jquery对话框。当我单击每行的链接时,对话框bog成功打开(目前,我有两行并且已经硬编码了锚点和div标签的ID,我需要将它们设置为动态)。无论如何,一旦对话框打开,我可以选中取消选中并选中某些复选框,然后进行一些更新。更新应该反映在父窗口上,这很好。但是,当我再次打开对话框时,它会在进行更新之前打开初始数据,而不是显示用更新进行刷新的对话框。此外,它开始抛出错误消息“无法在初始化之前调用对话框上的方法;尝试调用方法'close'“

  $("#vendoradmin-artnodesearch-popup-0").dialog(opt).dialog("open");});

 $("#vendoradmin-artnodesearch-popup-0").dialog(
               {
                autoOpen : false,
                modal : false,
                resizable : false,
                height : 500,
                width : 750,
                buttons : [{
                text: "Submit", 
                click : function() {
                    var selNodes = "";
                  $('#artNodeAvailListId-0 input:checkbox:checked').each(
                     function() {
                        selNodes += $(this).val() + ",";
                      });


                  $("#frmAssignArticleHierarchy\\:hdnArticleNodeIds").attr("value",
                  selNodes);
                     frmAssignArticleHierarchy["frmAssignArticleHierarchy:btnRefreshArticleFilter"]
                 .click();

                  $(this).dialog("close");
                 }
             }]
         });
       };

对此的任何帮助都将非常感激。

2 个答案:

答案 0 :(得分:0)

问题在于,当您关闭对话框时,实际上它不会删除对话框中的数据,因此当它再次显示时,它将显示现有数据,因此您需要添加一个关闭选项以删除{ {1}}内容,只需检查jquery对话框的api,你就可以找到这样做的代码。

#vendoradmin-artnodesearch-popup-0

答案 1 :(得分:0)

$(“#vendoradmin-artnodesearch-popup-0”)是您即时创建的元素吗? 你是否封装了对话框ID。你可以使用.ui-dialog作为前面的选择器吗?那些id是独一无二的吗?

  click: function () {
     var selNodes = "";
     $('.ui-dialog #artNodeAvailListId-0 input:checkbox:checked').each(

     function () {
         selNodes += $(this).val() + ",";
     });


     $("#frmAssignArticleHierarchy\\:hdnArticleNodeIds").attr("value",
     selNodes);


     $(this).dialog("close");

不知怎的,我认为你的身份可能有冲突。