私はDataTablesの初心者です。私は巨大な(私にとって)どのように解決するかを得る。ここで私のライブデモhttps://codepen.io/Balzzac/pen/mpdGgLは、ある場所で質問があります。DataTables.js:新しい値があることをテーブルが認識できるようにセルを更新した後にテーブルを再レンダリングする方法
説明してみましょう:私はAJAXコール(codepen - 変数dataSetから)からデータを取得するテーブル(id = 'js_table')を持っています。それは2つの列: "割り当て"と "名前"があります。データが来ると、最初の列がレンダリングされ、 "yes"/"no"をtype === "display"の円と "else"の "assigned"/"not assigned"で置き換えて、人を割り当てるか割り当てを解除するために円をクリックする機会。
JSはサークル(js_assign_element)をクリックすると、クラス(緑色から赤色、またはその逆)を置き換える機能を実行するだけでなく、割り当てられていないときにデータ属性を「割り当て済み」に変更し、人がいないときは割り当てられていません。しかし、表自体は変更を理解/認識しないため、変更が行われなかったので、最初の列がソートされ、フィルタリングされます。
$(document).off('click', '.js_assign_element').on('click', '.js_assign_element', function (event) {
event.preventDefault();
event.stopPropagation();
if ($(this).hasClass("__assigned")) {
$(this).removeClass("__assigned").attr("data-search", "not assigned").attr("data-filter", "not assigned").attr("data-sort", "not assigned").attr("data-order", "not assigned")
}
else
{
$(this).addClass("__assigned").attr("data-search", "assigned").attr("data-filter", "assigned").attr("data-sort", "assigned").attr("data-order", "assigned")
}
// Tried Following:
// $("#js_table").DataTable().draw() - doesn't work
// $("#js_table").DataTable().rows().invalidate("dom").draw() - doesn't work
// $("#js_table").DataTable().rows().invalidate().draw() - doesn't work either
})
あなたは私の質問を見て、私を助けてくれますか?ありがとう
あなたはではなく、内側の要素の属性を更新していません。それがうまくいかない理由 – davidkonrad
tdを更新する方法を私に見せたり説明したりすると、大変感謝しています。ありがとう! –