Pergunta

I'm new to Datatables and I'm trying to make the table editable, but I keep getting this error:

TypeError: $(...).dataTable(...).makeEditable is not a function

My jQuery script looks like this:

    $(document).ready( function () {
    var oTable = $('#data_table_wrapper').dataTable({
        "sDom": 'R<"H"lfr>t<"F"ip<',
        "bJQueryUI": true,
        "sPaginationType": "full_numbers",
        "aoColumn": [
                { "bVisible": true },
                { "bVisible": true },
                { "bSortable": false },
                    ]       
    }).makeEditable({
        sUpdateURL: "/abc.php"
    });
});

I am including these files:

jquery-1.9.1.min.js
jquery.dataTables.min.js
jquery.jeditable.js
jquery.dataTables.editable.js
jquery-ui.js
jquery.validate.js

All links to these files work correctly. Can anyone give me some advice, please? Why do I keep getting that error?

Foi útil?

Solução

The imports have to be in certain order:

jquery.min.js

jquery-ui.min.js

jquery.dataTables.min.js

jquery.jeditable.js

jquery.dataTables.editable.js

jquery.validate.js

After fixing this, update to latest versions fixed the problem!

Outras dicas

For jQuery version 1.9.1 jQuery datatable won't work. Try using jQuery version 1.7.1 instead.

My situation was:

(jQuery 3.x)

from jQuery DataTables website I had following:

<script>
    $(element).DataTable().makeEditable();
</script>

So - at first I had to change "DataTable" to "dataTable" giving:

<script>
    $(element).dataTable().makeEditable();
</script>

Then it threw the error (in jquery.dataTables.editable.js): TypeError: $(...).live is not a function. Which I fixed according to this topic jQuery 1.9 .live() is not a function :

line 655:

//$(".table-action-deletelink", oTable).live("click", function (e) {
$(oTable).on("click", ".table-action-deletelink", function (e) {
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top