DataTable不是一个函数

时间:2016-10-27 14:46:55

标签: javascript jquery asp.net

我有javascript代码,我试图从script1.js调用函数

//script1.js
    $(function(){

      $('#TableID').DataTable({

      //Blah Blah Blah
   });

});

工作正常,但如果我这样做

$(function(){


});
function MyDataTable(){

  $('#TableID').DataTable({

          //Blah Blah Blah
       });
}

我一直得到$(...)。DataTable不是一个函数我该怎么解决它...因为我有一个外部的js我想调用函数MyDataTable()来执行被控制的动作。我该怎么做呢?

注意:我的布局看起来像

<!DOCTYPE html>
<html lang="en">

<head>
</head>
<body>



@RenderBody()

 @Scripts.Render("jquery-1.10.2.js",

    "Jquery.dataTables.min.js",
    "dataTables.bootstrap.min.js",
    "Script1.js" //Note the script1.js
    )


  @RenderSection("Scripts", false)
</body>


</html>


Page2 (view) which calls script1

 <table id="TableID"></table>
@section Scripts {
    <script type="text/JavaScript">


    $(document).ready(function(){
       MyDataTable();
    })

    </script>
}

1 个答案:

答案 0 :(得分:0)

我看到的主要区别是,在第一个脚本中,初始化发生在$(function() {})内,而在第二个脚本中,它在它之外,甚至没有被调用。所以这个改变应该对你有帮助:

$(function(){
    MyDataTable();
});
function MyDataTable(){

  $('#TableID').DataTable({

          //Blah Blah Blah
       });
}

基本上,在加载文档后调用该函数。