我遇到了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;
答案 0 :(得分:0)
我认为问题可能与包含未更新的jQuery UI库有关。我刚尝试使用jQuery UI CDN并且没有#34; TypeError:$(...)。对话框不是一个函数&#34;问题。看看这个答案:Error: TypeError: $(...).dialog is not a function
另外,我认为如果添加changetasklist.php的内容会很好,因为在进行Ajax调用时会发生错误。