我正在做一个Dashboard UI,我整合了很多Js组件。以前它工作正常(主要是数据表),现在我做了一些Form组件切换和复选框。我得到一个类型错误 - jQuery不是一个使用无冲突的函数。
虽然我已经尝试了在StackOverflow上发布的所有建议,但是在使用无冲突时,没有一个解决方案能够正常运行并且遇到同样的问题。
目前的问题是我的数据表无效...
TypeError: $ is not a function
var oTable = $('#ActiveMedicalProblems').dataTable({
脚本在我的数据表中
var oTable = $('#ActiveMedicalProblems').dataTable({
"aLengthMenu": [
[5, 15, 20, -1],
[5, 15, 20, "All"] // change per page values here
],
// set the initial value
"iDisplayLength": 5,
"sDom": "<'row'<'col-lg-6'l><'col-lg-6'f>r>t<'row'<'col-lg-6'i><'col-lg-6'p>>",
"sPaginationType": "bootstrap",
"oLanguage": {
"sLengthMenu": "_MENU_ records per page",
"oPaginate": {
"sPrevious": "Prev",
"sNext": "Next"
}
},
"aoColumnDefs": [{
'bSortable': false,
'aTargets': [0]
}
]
});
我页面中的脚本是
jQuery(document).ready(function() {
ActiveMedicalProblems.init();
});
我尝试过其他方法,但没有运气。
(function($){
ActiveMedicalProblems.init();
});
感谢!!!
答案 0 :(得分:2)
切断noConflict
电话 - 这将是一个短期解决方案,让所有代码再次运作。
或者,包装“数据表”代码(而不是调用),如下所示:
(function($) {
var oTable = $('#ActiveMedicalProblems').dataTable({
...
})(jQuery);
但是,您将无法定义全局名称。更简单的方法可能是简单地用$
替换jQuery
的每个实例。你的代码会更长一些,但它将是明确的。