如何解决未捕获的类型错误:$(...).jsGrid 不是函数
在我的页面中,我正在尝试创建一个 jsgrid 表,我认为没有错,因为我以正确的方式导入了内容,但它给了我这个;
是否有什么问题,因为我没有看到初始化表的任何错误?
这是我的代码:
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jsgrid/1.5.3/jsgrid.min.js"></script>
<script src="assets/vendors/js/vendor.bundle.base.js"></script>
<script src="assets/vendors/js/vendor.bundle.addons.js"></script>
<script>
$("#brands_table").html("asd");
$("#brands_table").jsGrid({
width: "100%",height: "400px",filtering: true,inserting:true,editing:true,sorting:true,paging:true,autoload:true,pageSize:10,pageButtonCount:5,deleteConfirm:"Silmek istediğinize emin misiniz?",controller:{
loadData: function (filter) {
return $.ajax({
type:"GET",url:"assets/PHP/getbrands.PHP",data:filter
});
},},fields:[
{
name:"id",type:"hidden",css:'hide'
},{
name:"name",type:"text",width:150,validate:"required"
},{
type: "control"
}
]
});
</script>
解决方法
假设您的文件全部正确,我建议您将 jquery 函数调用包装在 document.ready
中。这样它们只会在 DOM 准备好通过 Javascript 进行编辑时运行。
<script>
$(document).ready(function(){
$("#brands_table").html("asd");
$("#brands_table").jsGrid({
width: "100%",height: "400px",filtering: true,inserting:true,editing:true,sorting:true,paging:true,autoload:true,pageSize:10,pageButtonCount:5,deleteConfirm:"Silmek istediğinize emin misiniz?",controller:{
loadData: function (filter) {
return $.ajax({
type:"GET",url:"assets/php/getbrands.php",data:filter
});
},},fields:[
{
name:"id",type:"hidden",css:'hide'
},{
name:"name",type:"text",width:150,validate:"required"
},{
type: "control"
}
]
});
});
</script>
,
问题是
<script src="assets/vendors/js/vendor.bundle.base.js"></script>
这些脚本的函数名称与 jsGrid 函数名称重叠,因此阻止浏览器/javascript 正确读取函数,我将这些脚本移至需要它们的位置,因此现在没有问题,感谢您的所有帮助和努力。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。