未捕获的类型错误(加载jQuery脚本)

时间:2014-05-12 10:09:39

标签: javascript jquery pagination uncaught-typeerror

美好的一天!我使用jQuery Tablesorter进行分页。我收到此错误

    Uncaught TypeError: undefined is not a function viewTags:24
    (anonymous function) viewTags:24
    fire jquery-1.10.2.js:3048
    self.fireWith jquery-1.10.2.js:3160
    jQuery.extend.ready jquery-1.10.2.js:433
    completed

在浏览器的控制台中。由于脚本的加载,问题很严重。这是代码

<link rel="stylesheet" href="/assets/stylesheets/style.css" type="text/css" />
<script type="text/javascript" src="//tablesorter.com/jquery-latest.js"></script>
<script type="text/javascript" src="/assets/javascripts/jquery.tablesorter.js"></script>
<script type="text/javascript" src="//tablesorter.com/addons/pager/jquery.tablesorter.pager.js"></script>   

<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>


请帮我解决这个问题。非常感谢你!

3 个答案:

答案 0 :(得分:1)

更新到此:

<link rel="stylesheet" href="/assets/stylesheets/style.css" type="text/css" />
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script type="text/javascript" src="/assets/javascripts/jquery.tablesorter.js"></script>
<script type="text/javascript" src="//tablesorter.com/addons/pager/jquery.tablesorter.pager.js"></script>   

<script>
   jQuery(function($) {
      var availableTags = @Html(Json.toJson(tagNames).toString); 
      $( "#tags" ).autocomplete({
            source: availableTags
      });

      $("table").tablesorter({widthFixed: true, widgets: ['zebra'] }) 
                .tablesorterPager({
                          container: $("#pager"),
                          size:5
      }); 
   }); 
</script>

您不需要拥有两个jQuery的doc ready块,其中一个足以将这些功能放入其中。此外,您必须以这种方式执行脚本的堆叠顺序 如果还有问题,那么尝试检查检查器的网络选项卡( chrome ),看看是否有一些库没有正确加载。

答案 1 :(得分:0)

你只需要包含一次jQuery。目前你已经加载了两次,所以你可以删除:

<script type="text/javascript" src="//tablesorter.com/jquery-latest.js"></script>

之后,您需要在核心jQuery文件之后添加tablesorter插件,因为jquery.tablesorter.js需要jQuery才能工作:

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script type="text/javascript" src="/assets/javascripts/jquery.tablesorter.js"></script>
<script type="text/javascript" src="//tablesorter.com/addons/pager/jquery.tablesorter.pager.js"></script>  

答案 2 :(得分:0)

请查看此代码

<script type="text/javascript" src="/tablesorter.com/jquery-latest.js"></script>
<script type="text/javascript" src="/assets/javascripts/jquery.tablesorter.js"></script>
<script type="text/javascript" src="/tablesorter.com/addons/pager/jquery.tablesorter.pager.js"></script>



 $(document).ready(function() {
        $("#myTable").tablesorter({
            widthFixed : true,
            widgets : ['zebra'],
            headers : {
                0 : {
                    sorter : false
                },
                1 : {
                    sorter : false
                },
                2 : {
                    sorter : false
                },
                3 : {
                    sorter : false
                },
                4 : {
                    sorter : false
                }
            }
        }).tablesorterPager({
            container : $("#pager"),
            size : 5
        });
    });

请仅使用此代码,删除所有其他内容并尝试