jquery ui对话框不会再打开

时间:2016-12-13 21:00:57

标签: jquery ajax dialog

我遇到了jquery对话框的问题。我有多个div作为按钮,并希望打开具有不同结果的对话框,具体取决于单击的div。这一切都有效,但当我按下第二个按钮时,我收到错误消息" TypeError:$(...)。对话框不是函数"。

如果我删除了ajax调用,它运行正常,所以我想我必须删除"或"关闭"让后续按钮点击工作的东西。

alert()会同时触发,但之后没有任何反应。

在简化的代码中,我已经删除了ajax调用,因此它可以工作,但当然还有空白对话框。



<!doctype html>
<html lang='en'>
<head>
</head>

<body>

<div class='row'>
    <div class='large-3 columns'>
        <div class='floatleft changepriority' id='1026' style='padding:6px;'>[1026] 0 : </div>
        <div class='floatleft changepriority' id='715' style='padding:6px;'>[715] 1000 : </div>
        <!-- Various more "buttons" -->
    </div>
</div>

<script src='bower_components/jquery/dist/jquery.js'></script>
<script src='/js/jquery-ui.js'></script>
<script src='bower_components/what-input/what-input.js'></script>
<script src='bower_components/foundation-sites/dist/foundation.js'></script>

<script>
    $( document ).ready(function() {

        $(document).foundation();

        $( '#changetasklist' ).dialog({

            modal: true,
            autoResize:true,

/*
            open: function () {
                $(this).load('/ajax/changetasklist.php?tl=' + $('#changetasklist').data('tasklist'));
            },
*/
            position: { my: 'center top', at: 'center top+20', of: window },
            width:700,
            title: 'Update Task Heading',
            autoOpen: false, // makes #box hidden when the page starts
            closeOnEscape: true, // closes when ESC is pressed, as well as the [x] top right.
        });

        $( '.changepriority' ).click(function() {
            alert('clicked');
            $( '#changetasklist' ).data('tasklist', this['id']);
            $( '#changetasklist' ).dialog( 'open' );  // open the box
        });

    });
    </script>

<div id='changetasklist'></div>

</body>
</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我认为问题可能与包含未更新的jQuery UI库有关。我刚尝试使用jQuery UI CDN并且没有#34; TypeError:$(...)。对话框不是一个函数&#34;问题。看看这个答案:Error: TypeError: $(...).dialog is not a function

另外,我认为如果添加changetasklist.php的内容会很好,因为在进行Ajax调用时会发生错误。