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

时间:2013-07-27 21:23:30

标签: javascript jquery dialog initialization

这个真的很烦我。我在我的控制台中遇到错误未捕获错误:在初始化之前无法在对话框上调用方法;试图调用方法'关闭'

$( 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页面的最末端

1 个答案:

答案 0 :(得分:1)

问题是您是在dialog('close')按钮上调用#submit_search_all_button,而不是最初创建对话框的#search_all_notes_input元素。

而不是$(this).dialog('close');,请使用:

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