JQuery 1.10.2 Datatable makeEditable() 不是一个函数

3
我的问题与此处提到的相同
但是,如果我们使用以下内容,则它可以工作: 1. jquery1.7.2.js 2. jquery.dataTables.min.js(1.7.2) 3. jquery.jeditable.js(1.7.3) 4. jquery.dataTables.editable.js(2.3.3)
但是目前我正在使用: 1. jquery1.10.2.js 2. jquery.dataTables.min.js(1.10.2) 3. jquery.jeditable.js(1.7.3) 4. jquery.dataTables.editable.js(2.3.3) 它会抛出错误表.table.makeEditable()不是一个函数。 我没有找到错误在哪里? 请帮忙。先感谢您。
<html>


<head>
    <link href="/JqueryDatatable/css/dataTables.jqueryui.css" type="text/css" rel="stylesheet"/>
    <link href="/JqueryDatatable/css/jquery-ui.css" type="text/css" rel="stylesheet"/>
    <link href="/JqueryDatatable/css/jquery.dataTables.css" type="text/css" rel="stylesheet"/>

    <script type="text/javascript" src="/JqueryDatatable/js/jquery-1.10.2.js" ></script>
       <script type="text/javascript" src="/JqueryDatatable/js/jquery.dataTables.js" ></script>
    <script type="text/javascript" src="/JqueryDatatable/js/jquery.jeditable.js" ></script>

   <script type="text/javascript" src="/JqueryDatatable/js/jquery.dataTables.editable.js" ></script>

<script type="text/javascript">

$(document).ready(function() {


var table= $('#example').DataTable( {
      //  "sScrollY":        250

    } );
    // Apply the filter
   table.columns().eq( 0 ).each( function ( colIdx ) {
        $( 'input', table.column( colIdx ).header() ).on( 'keyup change', function () {
            table
                .column( colIdx )
                .search( this.value )
                .draw();
        } );
    } );

    //Making datatable as editable columns
    table.makeEditable();

} );
3个回答

2

更改这个

  var table= $('#example').DataTable( {

to

  var table= $('#example').dataTable( {

我也遇到了同样的问题,这个解决方案完美地解决了我的问题。


0
尝试这个。
<script type="text/javascript">

  $(document).ready(function() {


  var table= $('#example').DataTable( {
  //  "sScrollY":        250

   } );

// Apply the filter
   table.columns().eq( 0 ).each( function ( colIdx ) {
    $( 'input', table.column( colIdx ).header() ).on( 'keyup change', function () {
        table
            .column( colIdx )
            .search( this.value )
            .draw()
            .makeEditable();
    } );
   } );

  } );

嗨Kartikeya,感谢你分享你的想法。但我仍然遇到相同的错误。“未捕获类型错误:未定义的函数”。 - Do It

0

这不是答案,但如果您已经找到了答案,我会很高兴,因为我也面临着类似的挑战。原因是您在datatable中使用了大写字母"D",如果您使用小写字母"d",如下所示:

var table= $('#example').dataTable( { // "sScrollY": 250

} );

makeEditable将适用于此。但在我的情况下,我需要使用大写字母"D",因为我需要使用datatable的row().child()函数。


Kunbi,你说得对。如果我们使用小写字母“d”,那么就不会出现任何错误。但是我需要为所有列应用标题过滤器。在这种情况下,我编写的代码用于应用标题列过滤器将无法工作,只有在使用jquery.dataTables.min.js(1.10.2)时才能工作。我发现兼容jquery1.10.2.js的jquery.dataTables.editable.js的更新版本不可用。 - Do It
我已经修改了代码,使其在表头列级别应用过滤器,它将兼容jquery1.7.2.js和jquery.dataTables.min.js(1.7.2)。// 应用过滤器 $("thead input").keyup(function () { /* 过滤此元素的列(索引)*/ table.fnFilter(this.value, $("thead input").index(this)); }); - Do It
实际上,我正在使用托管在Web上的jQuery版本,所以我做了两个不同的声明。当我需要使用makeEditable时,使用小写字母"d",而当我需要使用row.child()时,使用大写字母"D",它可以正常工作。然而,现在我的挑战是,如果我尝试使用makeEditable函数向数据表添加新列,它不起作用。它会给我报错。我想知道你是否有答案。谢谢。 - Kunbi
需要最新版本的jquery.dataTables.editable.js,它是第三方软件,不是jQuery和Datatable的一部分。目前不可用。 - Do It

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接