如何在不使用生成的按钮的情况下从JQuery UI关闭.dialog窗口

如何在不使用生成的按钮的情况下从JQuery UI关闭.dialog窗口,jquery,jquery-ui,Jquery,Jquery Ui,嘿,伙计们,在JQuery ui中,它会生成一个紧密的链接,一旦单击它就会关闭对话框。我的问题是如何不用那个按钮就把它关掉 我有一个弹出的服务条款,我需要使用拒绝条款链接,而不是从ui生成的关闭按钮 所以,让我知道我是如何做到这一点的,谢谢:) 编辑: 我使用了下面的代码,没有雪茄-告诉我未捕获的错误:无法在初始化之前调用对话框上的方法;试图调用方法“close” function decline(){ $( '#decline' ).dialog( 'close' );

嘿,伙计们,在JQuery ui中,它会生成一个紧密的链接,一旦单击它就会关闭对话框。我的问题是如何不用那个按钮就把它关掉

我有一个弹出的服务条款,我需要使用
拒绝条款
链接,而不是从ui生成的
关闭按钮

所以,让我知道我是如何做到这一点的,谢谢:)

编辑:

我使用了下面的代码,没有雪茄-告诉我未捕获的错误:无法在初始化之前调用对话框上的方法;试图调用方法“close”

function decline(){

     $( '#decline' ).dialog( 'close' );

    }
单击选择器后,会有一个onclick=“”,将其发送到此处。选择器是一个id=“拒绝”

下面是我的页面上获取对话框的全部代码-

$(function() {
        $( "dialog:ui-dialog" ).dialog( "destroy" );
    });
    function showUrlInDialog(url){
      var tag = $("<div></div>");
      $.ajax({
        url: url,
        success: function(data) {
          tag.html(data).dialog
          ({
              width: '100%',
                modal: true
          }).dialog('open');
        }
      });
    }
    function agree(){
        alert("Handler for .click() called.");
    }
    function decline(){

     $( '#decline' ).dialog( 'close' );

    }
terms container是initilizer从另一个文件获取数据的主div尝试使用
$('.dialog').dialog('close')

用选择器替换“.dialog”

$( 'a#decline' ).on( 'click', function() {
    $( this ).closest( '.ui-dialog' ).dialog( 'close' );
}) ;
因为您的代码是使用内联javascript设置的,所以上述方法不起作用。尝试将您的递减函数更改为此

function decline() {
 $( 'dialog:ui-dialog' ).dialog( 'close' );
 // OR THIS
 $( '.ui-dialog' ).children( 'div' ).eq( 0 ).dialog( 'close' );
}
尝试使用
$('.dialog').dialog('close')

用选择器替换“.dialog”

$( 'a#decline' ).on( 'click', function() {
    $( this ).closest( '.ui-dialog' ).dialog( 'close' );
}) ;
因为您的代码是使用内联javascript设置的,所以上述方法不起作用。尝试将您的递减函数更改为此

function decline() {
 $( 'dialog:ui-dialog' ).dialog( 'close' );
 // OR THIS
 $( '.ui-dialog' ).children( 'div' ).eq( 0 ).dialog( 'close' );
}

由于您需要从其他地方关闭对话框,因此我建议创建一个div,从ajax调用中获取html,而不是动态创建它。 Html:


由于您需要从其他地方关闭对话框,因此我建议创建一个div,从ajax调用中获取html,而不是动态创建它。 Html:


需要你提供更多信息,因为有了这段代码,对话框应该已经初始化了。。。假设链接位于modalyeah中,则调用链接上的“关闭”对话框。将其更改为整个对话框的选择器该对话框不提供给,而是提供给您在ajax调用中创建的div。哦,另一个文件中的主div-它获取内容的地方是一个名为#terms container的div-我使用它吗?是的,对话框的id需要您提供更多信息,因为有了这段代码,对话框应该已经初始化。。。假设链接位于modalyeah中,则调用链接上的“关闭”对话框。将其更改为整个对话框的选择器该对话框不提供给,而是提供给您在ajax调用中创建的div。哦,另一个文件中的主div-它获取内容的地方是一个名为#terms container的div-我使用它吗?是的,对话框的id可以添加对话框初始化代码吗?可以添加对话框初始化代码吗?
function decline() {
 $( 'dialog:ui-dialog' ).dialog( 'close' );
 // OR THIS
 $( '.ui-dialog' ).children( 'div' ).eq( 0 ).dialog( 'close' );
}
<a href="#" onclick="showUrlInDialog('termsofservice.php'); return false;">link to page B</a>
<a href="#" onclick="decline();" id="decline"><span >I decline these terms</span></a>
<div id="dialog-container"></div>
$(function() {
    $("#dialog-container").dialog( "destroy" );
});
function showUrlInDialog(url){
  var tag = $("#dialog-container");
  $.ajax({
    url: url,
    success: function(data) {
      tag.html(data).dialog
      ({
          width: '100%',
            modal: true
      }).dialog('open');
    }
  });
}
function agree(){
    alert("Handler for .click() called.");
}
function decline(){

 $("#dialog-container").dialog( 'close' );

}