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";
                }
            }

私の試みはテキストエリアを非表示にしましたが、div全体を再び非表示にして、画面の通常の表示に戻りたいです(modal:trueを取り除きます)

4

6 に答える 6

1

この行は、あなたが思っていることをしているとは思いません:

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

これは、ダイアログ プラグインに#dialog新しいダイアログ (モーダル) として初期化するように指示し、jQuery にすべてを非表示にするように指示します。この時点で#dialogすでにモーダル ダイアログであり、非表示にしたい場合は、次のようにしてください。

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

これは、既存のダイアログを非表示 (または閉じる) ようにダイアログ プラグインに指示します。

一般に、可能であれば、プラグインに他の機能を適用するのではなく、プラグインのネイティブ機能を使用する必要があります。この特定のケースでは、jQuery (ダイアログ プラグインの知識がない) を使用して div を非表示にするよりも、jQuery UI ダイアログにそれ自体を非表示にするように指示する方が適切です。そのdiv(ある、別のプラグインがそれを使用しています... jQuery UIダイアログ)。

于 2013-03-20T18:07:46.027 に答える
1

jQuery ui ダイアログを使用する場合は、close メソッドを使用する必要があります

$("#dialog").dialog('close');
于 2013-03-20T18:08:14.180 に答える
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 に答える
0

jQuery UI ダイアログを使用している場合は、次を試してください。$("#dialog").dialog({ hide: 1 });

于 2013-03-20T18:10:14.560 に答える
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 に答える