我正在使用Datatables作爲評論系統,用戶可以通過單擊星標(1到5)對每個項目進行評分。如何更新DataTables DOM?
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered" id="tabela-disciplinas-preferencia">
<thead>
<tr>
<th>Semestre</th>
<th>Curso</th>
<th>Disciplina</th>
<th>Nível de Interesse</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Engenharia de Software</td>
<td>Redes</td>
<td>
<div class="rating" valor="0">
<span valor="5">☆</span><span valor="4">☆</span><span valor="3">☆</span><span valor="2">☆</span><span valor="1">☆</span>
</div>
</td>
</tr>
....
</tbody>
</table>
我的JS
$(document).ready(function() {
$('#tabela-disciplinas-preferencia').dataTable({
"sPaginationType": "bootstrap"
});
});
然而,當用戶的點擊進行分級一個項目,我改變的勇氣屬性排名的格但數據表不內更新它們的值。
點擊評級事件
$(document).ready(function() {
$('div.rating span').click(function(){
starR= new StarRating($(this).parent());
starR.changeValue($(this).attr('valor'));
//Get TR Element
aPos = oTable.fnGetPosition($(this).parent().parent().get(0));
aData = oTable.fnGetData(aPos[0]);
//Get rating div
rating = aData[3];
aData[3] = $(rating).attr('valor', $(this).attr('valor'));
// ????
oTable.fnUpdate(aData[3]);
});
});
如何更新數據表DOM?我已經獲得了數據並改變了價值,但是我怎樣才能更新回oTable?
你使用了什麼星級評分插件?你的意思是「DOM沒有更新」? –
@NicolaPeluchetti我不使用星級插件,它只是CSS。我的意思是說,數據表數據與我的文檔不一樣html – dextervip
當然不是,dataTables創建一個tabel對象並保持對象更新。我以爲你使用了一個插件,因爲我試圖做一個小提琴來複制這個和這條線starR = new StarRating($(this).parent());給出錯誤。如果你創建一個小提琴我會盡力幫你 –