Javascript jQuery-无法在初始化之前对对话框调用方法

Javascript jQuery-无法在初始化之前对对话框调用方法,javascript,jquery,dialog,initialization,Javascript,Jquery,Dialog,Initialization,这个真的让我烦透了。我的控制台中出现了一个错误,未捕获错误:在初始化之前无法调用对话框上的方法;试图调用方法“close” $( function() { $('#search_all_notes_input').dialog({ autoOpen: false, show: { effect: "blind", duration: 1000 }, hide: {

这个真的让我烦透了。我的控制台中出现了一个错误,未捕获错误:在初始化之前无法调用对话框上的方法;试图调用方法“close”

$( function() {
    $('#search_all_notes_input').dialog({
        autoOpen: false,
        show: {
            effect: "blind",
            duration: 1000
        },
        hide: {
            effect: "explode",
            duration: 1000
        }
    });

    /* Make the Search div a button and open dialog on click */
    $( "#search_all_button" ).button().click(function() {       
        $( "#search_all_notes_input" ).dialog( "open" );
    });
});

$('#submit_search_all_button').click( function () {
    var searchText = $('#search_all_text').val();       
    var query = location.search.split('=');
    var urlMrn = query[1];
    formData = { mnr: urlMRN, search_text: searchText };
    console.log(formData);
    //$.post('note_search.php', formData, getMatchedNotes(data));
    $(this).dialog('close');
});

有什么想法吗?我在对话框div中使用一个按钮元素,而不是自定义对话框按钮。此外,脚本加载在我的HTML页面的最末尾,问题是您调用的是
对话框(“关闭”)
位于
#submit_search_all_按钮
上,而不是最初创建对话框的
#search_all_notes_input
元素

而不是
$(this).dialog('close'),请使用以下命令:

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

问题是您正在调用
提交搜索所有按钮上的
对话框(“关闭”)
,而不是您最初创建对话框的
搜索所有注释输入元素

而不是
$(this).dialog('close'),请使用以下命令:

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

在单击事件中指的是按钮本身,而不是模式/对话框,因此您无法对其调用
close
。您需要在初始化对话框的DOM元素上调用
close
。您可以在
open
事件中执行此操作:
$(“搜索所有注释输入”)。对话框(“打开”)
,当您希望关闭同一元素时,将其作为目标。
单击事件中的此
指的是按钮本身,而不是模式/对话框,因此您无法对其调用
关闭
。您需要在初始化对话框的DOM元素上调用
close
。您可以在
open
事件中执行此操作:
$(“搜索所有注释输入”)。对话框(“打开”),当您希望关闭同一元素时,将其作为目标。