繁体   English   中英

如何正确关闭此JQuery对话框?

[英]How can I correctly close this JQuery dialog?

我绝对不是JavaScript和JQuery的新手,但遇到以下问题。

进入页面后,我会看到以下对话框:

<div id="dialogReject" title="">
    <table style="visibility: hidden;" id="rifiutaTable" border="0" class="standard-table-cls" style="width: 100%!important">
        <tbody style="background-color: #ffffff;">
            <tr>
                <td style="font: 16px Verdana,Geneva,Arial,Helvetica,sans-serif !important">Inserire note di rifiuto</td>
            </tr>
            <tr>
                <td>
                    <textarea style="visibility: hidden;" rows="5" cols="70" id="myRejectNote"></textarea>
                </td>
            </tr>
            <tr>
                <td>
                    <input class="bottone" readonly="readonly" type="text" value="Rifiuta" onclick="rifiuta()"/>
                </td>
            </tr>
        </tbody>
    </table>
</div>

我认为是通过此JQuery脚本创建的:

$(document).ready(function() {
    larghezza = '950px';
    lunghezza = '470px';
    lunghezza2 = '530px';
    $("#dialogReject").dialog({
         autoOpen: false,
         //width:'335px',
         width:'600px',
         modal: true,
         show: {        
             effect: "blind",
             duration: 500      
         },
         hide: { 
             effect: "blind",   
             duration: 500    
         }
     });
});

如您所见,此对话框包含2个由2个输入标签实现的按钮,这些按钮是:

<td style="text-align: right">
    <input class="bottone" readonly="readonly" type="text" value="Annulla" onclick="javascript:window.close()"/>

    <input class="bottone" readonly="readonly" type="text" value="Rifiuta" onclick="rifiuta()"/>
</td>

当用户单击Annulla按钮时,我希望对话框关闭。

实际上,我尝试使用window.close()函数,但是它不起作用。

我认为要关闭此对话框,我必须使用与用户使用ESC键盘按钮关闭带有简单动画的对话框时执行的事件相同的事件。

但是我真的不知道该怎么做。 你能帮我做吗?

特纳克斯

尝试$("#dialogReject").dialog( "close" );

有关更多信息,请阅读https://api.jqueryui.com/dialog/

要绑定它,请更改

<input class="bottone" readonly="readonly" type="text" value="Annulla" onclick="javascript:window.close()"/>

<input id="closeDialog" class="bottone" readonly="readonly" type="text" value="Annulla"/>

并将其添加到以下位置: $("#dialogReject").dialog({ [..your code..] });

$("#closeDialog").click(function(){
    $("#dialogReject").dialog( "close" );
})

您必须在JavaScript文件中监听事件。

首先为您的关闭按钮设置一个id,我在这里使用#closeButton:

 $(document).ready(function() { larghezza = '950px'; lunghezza = '470px'; lunghezza2 = '530px'; $("#dialogReject").dialog({ autoOpen: false, //width:'335px', width:'600px', modal: true, show: { effect: "blind", duration: 500 }, hide: { effect: "blind", duration: 500 } }); $("#closeButton").click(function(){ $("#dialogReject").close(); }); }); 

正如Alex和kaz给出的答案一样,$(“#dialogReject”)。close();

或者您也可以使用可以通过jquery创建的按钮

  buttons: {Rifiuta: funstion()
            {
            rifiuta()
            },
              Annulla: function() {
          $( this ).dialog( "close" );
        }

供参考: https : //jqueryui.com/dialog/#modal-confirmation

    $( "#dialogReject" ).dialog({
 autoOpen: open,
            //width:'335px',
            width:'600px',
            modal: true,
            show: {        effect: "blind",        duration: 500      },
            hide: {        effect: "blind",        duration: 500      },
  buttons: {Rifiuta: funstion()
            {
            rifiuta()
            },
          Annulla: function() {
      $( this ).dialog( "close" );
    }
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM