2

当用户点击“评论”按钮时。

<input id="SubmitCommentsToInvoice" type="button" value="Comments" onclick="ShowCommentBox('<%: item.DBId %>', '<%: item.LabourOrPlant %>', '<%: item.ActivityDescription %>')" />

一个文本区域加载,带有一个提交按钮。当用户完成输入数据并单击“提交”时,我希望该框消失。(返回正常屏幕查看)

    <div id="dialog" title="Comments"  style="display:none;">   
    <textarea id="BlankBox" type="text" runat="server" rows="7" 
     maxlength="2000" />     
    <input id="SubmitComment" type="button" value="Submit"
                    onclick="SubmitButton()" />  
     </div> 

    function SubmitButton() {
                var commentBoxData = $('#<%=BlankBox.ClientID%>').val();
                WorkItemMgr.CommentBoxForInvoiceUpdates(id, LabouringOrPlanting, commentBoxData, testForSuccess);
            }

            function testForSuccess(CommentSuccessfullyUpdated) 
            {
                if (CommentSuccessfullyUpdated == "TRUE") 
                {
                    //$('#' + IdCommentBox).hide();
                    // $('#<%=BlankBox.ClientID%>').hide(); just hides comment box need to hide entire thing
                    $("#dialog").dialog({ modal: true }).hide();
    //IN HERE I WOULD LIKE TO HIDE THE DIV (MY ATTEMPTS SEEN ABOVE)
                }
                else if (CommentSuccessfullyUpdated == "False") 
                {
                    showLoadingImage.src = "../Images/X.png";
                }
            }

我的尝试隐藏了 textarea,但我想再次隐藏整个 div 并恢复正常的屏幕查看(摆脱 modal:true)

4

6 回答 6

1

我不认为这条线正在做你认为它正在做的事情:

$("#dialog").dialog({ modal: true }).hide();

这告诉对话框插件初始化#dialog为一个新的对话框(模态),然后告诉 jQuery 隐藏整个事情。如果此时已经#dialog是模态对话框并且您只想隐藏它,请尝试以下操作:

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

这告诉对话框插件隐藏(或关闭)现有对话框。

通常,您希望尽可能使用插件的本机功能,而不是尝试对其应用其他功能。在这种特殊情况下,最好告诉 jQuery UI 对话框隐藏自己,而不是尝试使用 jQuery(它不知道对话框插件)来隐藏 div,因为它不知道是否有任何“特殊”关于那个 div (有,另一个插件正在使用它...... jQuery UI 对话框)。

于 2013-03-20T18:07:46.027 回答
1

如果你使用 jQuery ui 对话框,那么你应该使用close 方法

$("#dialog").dialog('close');
于 2013-03-20T18:08:14.180 回答
0

使用 jQuery:

$("#div_id").hide();
于 2013-03-20T18:07:24.237 回答
0

在 jQuery 中

 $('#BlankBox').hide();

在 JavaScript 中

document.getElementById("BlankBox").style.display='none';
于 2013-03-20T18:07:40.537 回答
0

如果您使用的是 jQuery UI 对话框,请尝试:$("#dialog").dialog({ hide: 1 });

于 2013-03-20T18:10:14.560 回答
0

尝试这个:

<div id="dialog" title="Comments"  style="display:none;">   
  <textarea id="BlankBox" type="text" runat="server" rows="7" maxlength="2000" />     
  <input id="SubmitComment" type="button" value="Submit"/>
</div> 

jQuery 将是:

$(function(){
   $('#SubmitComment').click(function(){
      $(this).closest('#dialog').hide();
   });
});
于 2013-03-20T18:12:09.487 回答