テーブルに行を追加するボタンがあります。テーブルはクリックで編集可能です(ここにあるものと同様:http://www.9lessons.info/2011/03/live-table-edit-with-jquery-and-ajax.html)ただし、テーブルデータを取得しますデータベースから。それぞれに、データベース内のフィールド名に対応<td>
するdata-field
属性があります。<td>'s
ここで、追加された表の行を他の行と同様に編集可能にするために、そのすぐ上のセルからをマーク<td>'s
data-field
する必要があります。data-field
私はいくつかの異なる方法を試しましたが、不足しています。これが私の行追加スクリプトです:
<script type="text/javascript">
/*
Add a new table row to the bottom of the table
*/
$(document).ready(function()
{
$(".add").click(function()
{
$("#table").each(function()
{
var $table = $(this);
var id=$('#table tr:last').attr('id');
var $tr = $("#table").children('tr');
var $th = $(this).closest('table').find('th').eq($(this).index());
// Number of td's in the last table row
var n = $('tr:last td', this).length;
var tds = '<tr class="edit_tr" id="' + id++ + '">';
for(var i = 0; i < n; i++)
{
tds += '<td class="edit_td"><input type="text" class="editbox" id="' +
id + '" data-field="' + $th + '"/> </td>';
console.log($th);
}
tds += '</tr>';
//console.log(tds);
if($('tbody', this).length > 0)
{
$('tbody', this).append(tds);
}else {
$(this).append(tds);
}
});
});
});
</script>
さて、気付きvar $th = $(this).closest('table').find('th').eq($(this).index());
ます。それは私が得た最も近いものです。しかし、私はアクセスしたくありませんth
。データフィールドでアクセスしたい。何か案は?