我遇到Yii网格视图的问题。由于某种原因它似乎没有正确加载,即使包含脚本(我可以在源代码中看到它)。 这是HTML的标题部分:
<script src="fileadmin/static/js/jquery-1.8.3.min.js" type="text/javascript"></script>
<script src="/module/public/assets/80c0553/gridview/jquery.yiigridview.js" type="text/javascript"></script>
<script type="text/javascript">jQuery(function($) {
jQuery('#grid-downloads').yiiGridView({'ajaxUpdate':['grid-downloads'],'ajaxVar':'ajax','pagerClass':'pager','loadingClass':'grid-view-loading','filterClass':'filters','tableClass':'def-table','selectableRows':1,'enableHistory':false,'updateSelector':'{page}, {sort}','filterSelector':'{filter}','pageVar':'page'});
});
</script>
我收到错误:TypeError: jQuery(...).yiiGridView is not a function
问题可能存在的任何想法?
答案 0 :(得分:9)
我发现了这个问题。
实际上问题是,不知何故,我在页面中包含了2次jquery - 第二次在页脚中,这就是我之前找不到的原因。
Jquery在页面中只需要一次,它需要在标题中。
答案 1 :(得分:-1)
正如Asped所说,您必须照顾好资产,避免一次在资产js中加载jquery,避免再次在资产公共依赖项中加载'yii\web\JqueryAsset',
。