我的JSP页面中有以下内容,我收到错误
Message: Object doesn't support this property or method
在$("#projects").dataTable({
如果我删除
.makeEditable({
sAddURL: "addController"
});
然后没有js错误,我该如何解决这个问题?
JS代码
$(document).ready(function () {
$("#projects").dataTable({ // error here
"bServerSide": true,
"sAjaxSource": "mycontroller",
"bProcessing": true,
"sPaginationType": "full_numbers",
"bJQueryUI": true
}).makeEditable({
sAddURL: "addController"
});
});
我有以下js文件
<script src="scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="scripts/jquery.dataTables.editable.js" type="text/javascript">
</script>
<script src="scripts/jquery.jeditable.js" type="text/javascript"></script>
<script src="scripts/jquery.validate.js" type="text/javascript"></script>
<script src="scripts/jquery-ui.js" type="text/javascript"></script>
<script src="scripts/jquery.js" type="text/javascript"></script>
<script src="scripts/jquery.dataTables.min.js" type="text/javascript"></script>
答案 0 :(得分:6)
您要包含两次jQuery库,可能使用两个不同的版本。 scripts/jquery-1.4.4.min.js
和scripts/jquery.js
都是jQuery库。
第二个将替换第一个,并且在此过程中您将丢失添加到第一个实例的所有插件。由于您最终只使用了dataTables插件,makeEditable
调用将无效。不是dataTable
方法不存在,错误只是在该行上报告,因为语句从那里开始。
删除jQuery库的第二个包含。如果它与jQuery库的1.4.4版本不兼容,您可能还需要不同版本的dataTables插件。或者使用更高版本的jQuery。
答案 1 :(得分:2)
好吧,@ Guffa已经回答得足够多了。如果你愿意,你可以接受他的回答。 :)
我只想添加另一个东西,即jQuery版本之间的冲突。这是因为如果你使用的插件与你所包含的jQuery版本不兼容(发生在我身上的话)。您可以添加与该插件兼容的另一个jQuery版本,以及使用jQuery.noConflict()
答案 2 :(得分:0)
根据您提供的内容,我只能假设在$('#projects').dataTable
加载之前jquery.dataTables.min.js
正在执行。