0

我有一个数据表,其中一列是可编辑的。我正在寻找 3 个问题的解决方案。任何人都可以帮助解决这个问题。

  1. 我需要将第一列传递给我的服务器端脚本(即数据库的主键)
  2. 我只需要将一个单元格设为不可变(第一行第一列中的元素)
  3. 编辑表格后,我需要在列中查看编辑后的值。我知道如果我们使用 sUpdateURL: function(value, settings) 将显示更改。谁可以帮我这个事。我对数据表很陌生。

这是我的代码

$(document).ready(function() {
        $('#jtable').html( '<table cellpadding="1" cellspacing="1" border="1" class="pretty" id="edit_table"></table>' );
        $("#edit_table").dataTable({
            "aaData": {{ result | safe }},
            "aLengthMenu" : 100,
            "aaSorting": [],
            "aoColumns" : [
                {'sTitle' : 'Options' },
                {'sTitle' : 'Values'}
            ],
            "iDisplayLength": -1,
            "bFilter" : false,
            "bSearchable" :false,
            "bInfinite" :true,
            "bSort" :false,
            "bPaginate": false
        });
    });
    $(document).ready(function(){
        $("#edit_table").dataTable().makeEditable({
             sUpdateURL: "/submitchanges",
            "aoColumns": [
                null,
                {
                },
                {
                    indicator: 'Saving platforms...',
                    tooltip: 'Click to edit platforms',
                    type: 'textarea',
                    submit:'Save changes',
                    fnOnCellUpdated: function(sStatus, sValue, settings){

                    }
                }
            ]
        });
    });

我正在使用 python + flask 框架进行服务器端处理。

4

1 回答 1

0

这里的服务器代码适用于您的客户端(稍作修改,见下文):

from flask import Flask, render_template, request as flask_request
app = Flask(__name__)

@app.route('/')
def hello_world():
    aa_data = [['First', 'Second'], ['First', 'Second']]
    return render_template('index.html', result = aa_data)

@app.route('/update/', methods=['POST'])
def update_records():
    value = flask_request.form['value']
    row_id = flask_request.form['rowId']
    # todo: perform database update operation
    return value

if __name__ == '__main__':
    app.run(debug=True)

客户端修改:

$("#edit_table").dataTable().makeEditable({
            sUpdateURL: "/update/",
            "aoColumns": [
                null,
                {
                    sName:"secondColumn"
                }
            ]
        });
于 2013-02-20T09:15:47.587 回答