2017-02-02 48 views
0

Jquery DataTableで5番目の列の表データを変更しようとしていますが、特定の表の行IDに移動します。デフォルトでは、すべてのテーブル行のIDはrow<id number>です。たとえば:Jquery DataTables - 行IDに基づいて特定のセルのデータを変更する

<tr id="row147"> 
    <td>147</td> 
    ... 

特定のテーブルのデータセルを変更しようとするために、私はこの

table.row("#row" + data.job_id).data(variable).draw()

のようなものを試してみました。しかし、これは、各テーブルのデータセルに行全体にわたってデータを書き込みます。行内の表データ・セルをどのように指定すればよいのですか?それにDataTables APIを使用して書き込むだけですか?

+0

私は '' table.row(行).column(5).DATA(可変).draw()を試み、それがエラーを投げていないが、それはその列のセルを更新していません。 – Wes

+0

コメントを無視してください... – Wes

答えて

1

私はこの記事hereに従うことで解決策を見つけることになりました。基本的にはすべて<td>にIDを与えなければなりません。次に、table.cell('#td_5_' + data.job_id).data(variable)を使用して、新しいデータを特定のセルに書き込むことができます。

0
var rowId = "row" + data.job_id; 
var element = document.getElementById(rowId).cells; 
element[index_of_column].innerHTML = "New content";` 
+1

私はDataTables APIを介してどのように行われたかについて質問しました。 – Wes

1

コードは次のようになります。 INITCOMPLETEを追加します。

$(document).ready(function() { 
    $("#uiDataTable").DataTable({ 
     "order": [[1, "asc"]], 
     "pagingType": "full", 
     "deferRender": true, 
     "initComplete": function (settings, json) { 
      $('tbody tr').each(function() { 
       var nTds = $('td', this); 
       var nTrs = $('tr', this); 
       //row # 
       if (nTrs.context.id == "4") { 
        $(nTds[0]).text("Changing row 3 column 1"); 
        //alert(sBrowser); 
       } 
      }); 
     } 
    }); 
}); 
+0

API経由で私が求めていることを達成する方法はありませんか? initCompleteはオプションです。 – Wes

-1
$('#'+table).find('tr#'+rowId).find('td:eq(colNum)').html(newValue); 
+2

あなたの答えには説明がないので、質が低いとフラグが立てられました。あなたの答えを拡大して、それが削除されないようにしてください。 –

関連する問題