I have a problem with Yii grid view. for some reason it does not seem to load correctly, even though the script is included (i can see it in the source code). This is the header part of the 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>
I get the Error: TypeError: jQuery(...).yiiGridView is not a function
Any ideas where the problem may lie?
I have a problem with Yii grid view. for some reason it does not seem to load correctly, even though the script is included (i can see it in the source code). This is the header part of the 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>
I get the Error: TypeError: jQuery(...).yiiGridView is not a function
Any ideas where the problem may lie?
Share Improve this question asked Sep 1, 2014 at 10:04 AspedAsped 3,1034 gold badges34 silver badges53 bronze badges 3- 2 maybe it's because jquery or that exact library is included multiple times – Developerium Commented Sep 1, 2014 at 10:23
- 1 thanks! actually this was really the problem, somehow i got jquery included 2nd time also in the footer of the page, and that broken the code – Asped Commented Sep 1, 2014 at 10:38
- 1 move jquery js file inclusion to the head section in layount/main.php file. I had mine in footer section of my theme, as I moved it to head section, jquery/js function calling started working :) – iltaf khalid Commented Jan 14, 2015 at 10:07
2 Answers
Reset to default 13I found the issue.
Actually the problem was, somehow i got jquery included 2 times in the page - the 2nd time in the footer, that is why I did't find our earlier.
Jquery needs to be only 1 time in the page, and it needs to be in the header.
as Asped said, you must take care of assets and avoid loading jquery once in asset js and again in asset public depends like 'yii\web\JqueryAsset',
.