1

我已经到处寻找这个问题的答案。我发现了类似的问题并尝试了他们的建议,但都无济于事,所以我试图在这里发布我的问题。请原谅任何重复。另外,我是一位经验丰富的 Javascripter,但也是一位 jQuery 菜鸟。

我的问题:我有一个带有按钮 btnStates 的模态 jQuery UI 对话框(不在父对话框的按钮数组中,而是在 div 中)。单击按钮后,我希望它弹出我在 html 中具有的 div 的第二个模态对话框,其显示设置为无。div 仅包含状态选项的简单选择元素。用户必须选择一个状态并按 OK,或按 Cancel 以返回父对话框。

我无法让它工作。在代码的一种配置中,它会在 document.ready 时弹出我的状态对话框,但忽略我已将其编码为 click 事件。有人能告诉我我的 jQuery 在哪里实现这一点是错误的吗?这是我对 jQuery 代码的最新尝试:

$(function() {
    $("#tabs").tabs();
    $( "#dlgInstitutionSearch" ).dialog(
        { 
            dialogClass: "no-close", minWidth:512, minHeight:410, closeOnEscape:true, 
            buttons: [ 
                { text: "Search", click: function() { $( this ).dialog( "close" ); } }, 
                { text: "Cancel", click: function() { $( this ).dialog( "close" ); } }, 
                { text: "Help", click: function() { $( this ).dialog( "close" ); } } 
            ] 
    });

    $("#btnStates").click(function(){
        $("#dlgStatesList").dialog({
            dialogClass: "no-close", minWidth:200, minHeight:300, closeOnEscape:true, 
            buttons: [ 
                { text: "OK", click: function() { $( this ).dialog( "close" ); } }, 
                { text: "Cancel", click: function() { $( this ).dialog( "close" ); } }
            ] 
        });
    });

});
4

1 回答 1

0

我认为您想在一个步骤中初始化“内部”对话框并在另一个步骤中打开它,如下所示:

$(function() {
    $("#tabs").tabs();
    $( "#dlgInstitutionSearch" ).dialog(
        { 
            dialogClass: "no-close", minWidth:512, minHeight:410, closeOnEscape:true, 
            buttons: [ 
                { text: "Search", click: function() { $( this ).dialog( "close" ); } }, 
                { text: "Cancel", click: function() { $( this ).dialog( "close" ); } }, 
                { text: "Help", click: function() { $( this ).dialog( "close" ); } } 
            ] 
    });

    // Initialize the dialog
    $("#dlgStatesList").dialog({
        autoOpen: false,
        dialogClass: "no-close", minWidth:200, minHeight:300, closeOnEscape:true, 
        buttons: [ 
            { text: "OK", click: function() { $( this ).dialog( "close" ); } }, 
            { text: "Cancel", click: function() { $( this ).dialog( "close" ); } }
        ] 
    });

    // Open state dialog on click
    $("#btnStates").click(function(){
        $("#dlgStatesList").dialog("open");
    });

});

编辑:添加了一个演示:http: //jsfiddle.net/mmeNS/

于 2013-09-09T22:28:18.113 回答