如何从点击功能中传递参数?

时间:2016-12-29 14:05:25

标签: jquery twitter-bootstrap datatables

我正在使用bootstrap dataTables。我有可编辑的单元格,到目前为止我的代码工作得非常好:

<script src="https://raw.githubusercontent.com/ejbeaty/CellEdit/master/js/dataTables.cellEdit.js"></script>

$(document).ready(function () {
    var table = $('#myTable').DataTable();
    $('#myTable tbody').on('click', 'td', function () {
        $('#myTable').data('column', table.cell(this).index().columnVisible);
    });
    table.MakeCellsEditable({
        "onUpdate": myCallbackFunction
    });
});


function myCallbackFunction(updatedCell, updatedRow, oldValue) {
    var array = updatedRow.data();
    var id = array[0];
    var column = $('#myTable').data('column');
    console.log("The column is: " + column);
    jQuery.ajax({
        type: "POST",
        url: "update.php",
        data: {
            updatedCell: updatedCell.data(),
            id: id,
            column: column,
        },
        cache: false
    });
}

我的控制台中的输出例如是:The column is 1

我想添加一个功能,即第1列和第2列不应该是可编辑的,而是所有其他功能。所以我改变了我的代码:

$(document).ready(function () {
    var table = $('#myTable').DataTable();
    $('#myTable tbody').on('click', 'td', function () {
        $('#myTable').data('column', table.cell(this).index().columnVisible);
    });
    var column = $('#myTable').data('column');
    console.log("The new column is: " + column);
    if (column !== 1 || column !== 2) {
        table.MakeCellsEditable({
            "onUpdate": myCallbackFunction
        });
    }
}

但参数未通过。我的输出是:The new column is: undefined

另一种解决方案是:

$(document).ready(function () {
        var table = $('#myTable').DataTable();
        var column;
        $('#myTable tbody').on('click', 'td', function () {
            column = $('#myTable').data('column', table.cell(this).index().columnVisible);
        });
        column = $('#myTable').data('column');
        console.log("The new column is: " + column);
        if (column !== 1 || column !== 2) {
            table.MakeCellsEditable({
                "onUpdate": myCallbackFunction
            });
        }
    }

但仍然是输出The new column is: undefined

0 个答案:

没有答案