数据服务器端处理

时间:2013-02-20 05:57:12

标签: jquery python html datatable flask

我有一个datatatble,一列可编辑。我正在寻找3个问题的解决方案。任何人都可以帮忙解决这个问题。

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

    $(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框架进行服务器端处理。

1 个答案:

答案 0 :(得分: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"
                }
            ]
        });