2012-02-01 53 views
0

我有一个DataTable使用jEditable,以便用户可以修改第三列中保存的值。用户只能编辑第3个值,但看AJAX发布它未发送的“ID”,这是我看到一个贴子在接下来的第1列中保存的值看着萤火虫:jQuery DataTables JEditable

column 2 

id district 

row_id null 

value new text 

这里是我的代码,我想添加一行到RETURN部分,以便它返回(this)的第一列[0]的值?不知道如何做到这一点,很新的JavaScript ...

<script> 
$(document).ready(function() { 
/* Init DataTables */ 
var oTable = $('#district').dataTable(); 

/* Apply the jEditable handlers to the table */ 
$('#district', oTable.fnGetNodes()).editable('editable_ajax.php', { 
    "callback": function(sValue, y) { 
     var aPos = oTable.fnGetPosition(this); 
     oTable.fnUpdate(sValue, aPos[0], aPos[1], aPos[2]); 
    }, 
    "submitdata": function (value, settings) { 
     return { 
      "row_id": this.parentNode.getAttribute('id'), 
      "column": oTable.fnGetPosition(this)[2] 
     }; 
    }, 
    "height": "14px" 
}); 
}); 
</script> 
+0

找出问题,只需将一个变量设置为列1 [0]中的值,然后在POST中返回该值。 'var id2 = oTable.fnGetData(aPos2 [0]); ' – xXPhenom22Xx 2012-02-02 19:57:26

回答

0

我会尝试这个

"submitdata": function (value, settings) { 
    console.log(this); 
    return { 
     "row_id": this.parentNode.getAttribute('id'), 
     "column": oTable.fnGetPosition(this)[2] 
    }; 
}, 

,看你的控制台,这个对象,它会告诉你,你有机会获得一切至。

1

当使用2+版本(作为写作时间没有下载是在网站上公布,但最新的稳定似乎是2.0.7,只需从源文件复制...),你可以做到这一点如约万(创建者)在this bug report指出:

var currentKey = ''; 

$('#example').dataTable().makeEditable({ 

    fnOnEditing: function(input) { 
     currentKey = input.parents("tr").children("td:first").text(); 
     return true; 
    }, 

    oUpdateParameters: { 
     key: function() { 
      return currentKey; 
     } 
    } 
}); 
1

想出问题,只需一个变量设置为在第1列的值[0],然后返回在POST的值。 var id2 = oTable.fnGetData(aPos2 [0]);