【发布时间】:2013-05-19 01:02:46
【问题描述】:
好吧,我有一个 django 管理站点项目,我想在我的一个 change_form 模板上添加一个简单的对话框。
我添加以下代码:
将打开对话框的打开按钮:
<button id='open_dialog' onclick='javascript:$( "#comfirm_dialog" ).dialog("open");'>open</button>
对话框初始化代码:
<script>
(function($){
$( "#comfirm_dialog" ).dialog({
autoOpen: false,
height: 450,
width: 550,
modal: true,
buttons: {
"Add": function(){},
Cancel: function() {$( this ).dialog( "close" );}
},
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
}
});
})(django.jQuery)
</script>
对话框本身:
<div id='comfirm_dialog' title='Comfirmation'>
This is a dialog.
</div>
当我点击“打开”按钮时,什么也没发生,只有一个错误:
"Uncaught TypeError: Object #<Object> has no method 'dialog' "
我做了一些研究,发现这可能是由于多种原因。
最常见的一个是我可能在某处包含两次 Jquery。 然而,我不认为我做到了。我只声明我在'script'标签中使用'django.jQuery'。
有人知道我的情况可能是什么原因吗?
提前致谢。
编辑:为了更新,
我尝试包含'jquery-ui',然后我得到'Uncaught ReferenceError: jQuery is not defined'
然后我尝试包含 jquery(我认为我不应该这样做两次,因为我使用过 (django.jQuery)。)我得到了同样的错误“未捕获的类型错误:对象 # 没有方法‘对话框’ "
【问题讨论】:
-
您是否在文件中包含了 jquery 和 jquery-ui 的参考资料?
-
个人?不,我认为 django 会为我做这件事。我不会在任何地方包含 jquery 或 jquery-ui
-
django 不会为你做这件事。您应该在某些地方包含
jquery,否则错误将是$未定义。现在,确保 jquery-ui 也在那里 -
但是,我已经指定了(django.jQuery)。我认为应该包括 Jquery 对吗?
标签: django django-admin jquery-ui-dialog