数据表和JQuery Jeditable,如何传入行数据?

发布于 2025-01-08 00:52:22 字数 1255 浏览 0 评论 0原文

我正在使用 Jeditable

http://www.appelsiini.net/projects/jeditable

和 DataTables,

http://datatables.net/download/

尝试制作一个实时可编辑表,但每当我编辑时,它都不会发布我从中获取的行 ID,因此我想在编辑列时尝试提取正确的 ID。然而,无论我尝试什么,似乎都没有得到任何结果。有什么想法吗?

代码:

 $(document).ready(function() {

          var oTable = $('#example').dataTable( {
         "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "scripts/getData.php",
        "fnDrawCallback": function () {
            $('#example tbody td').editable( 'examples_support/editable_ajax.php', {
                "event" : 'dblclick',
                "tooltip" : 'Click to edit.',
                "submitdata" : {id: $(this).parent().index()},
                "callback": function( sValue, y ) {
                console.log(sValue);
                console.log($(this).parent().index());
                console.log($(this).parent().find('td:eq(3)').html());
                    /* Redraw the table from the new data on the server */
                    oTable.fnDraw();
                },
                "height": "14px"
            } );
        }
        } );
    } );

在此特定示例中,submitdata 返回 1,而回调中的 console.log 返回正确的信息。

I am using Jeditable,

http://www.appelsiini.net/projects/jeditable

And DataTables,

http://datatables.net/download/

To try and make an live editable table but whenever I edit, it does not post the row ID that I am getting it from so I want to try and pull the right ID when you edit a column. However, no matter what I try it does not seem to get anything. Any ideas?

Code:

 $(document).ready(function() {

          var oTable = $('#example').dataTable( {
         "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "scripts/getData.php",
        "fnDrawCallback": function () {
            $('#example tbody td').editable( 'examples_support/editable_ajax.php', {
                "event" : 'dblclick',
                "tooltip" : 'Click to edit.',
                "submitdata" : {id: $(this).parent().index()},
                "callback": function( sValue, y ) {
                console.log(sValue);
                console.log($(this).parent().index());
                console.log($(this).parent().find('td:eq(3)').html());
                    /* Redraw the table from the new data on the server */
                    oTable.fnDraw();
                },
                "height": "14px"
            } );
        }
        } );
    } );

In this particular example, submitdata returns 1 while the console.log in teh callback returns the correct info.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

太阳男子 2025-01-15 00:52:22

尝试将 submitdata 对象包装在函数中,以将 this 保持在范围内......

    ...
    "submitdata" : function() {return {id: $(this).parent().index()}},
    ...

它对我有用,希望有帮助。

干杯。

Try wrapping the submitdata object in a function to keep this in scope...

    ...
    "submitdata" : function() {return {id: $(this).parent().index()}},
    ...

It worked for me, hope that helps.

Cheers.

沧笙踏歌 2025-01-15 00:52:22

我不知道这是否仍然存在,但我最终得到:

"submitdata" : function(){return {id: $(this).closest('tr').attr('id')}},

如果您使用 DataTables 中的 DT_RowID 它应该正确返回它。

最好的。

I don't know if this is still alive, but I ended up with:

"submitdata" : function(){return {id: $(this).closest('tr').attr('id')}},

if you are using DT_RowID from DataTables it should return it correctly.

Best.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文