0
我正在使用調用我的控制器函數的ajax將數據加載到表中。當選擇新頁面或對列進行排序時,我使用ajax將數據重新加載到相同的原始控制器功能。這是爲了讓我不用馬上加載所有的物品,只在需要的時候才加載。我想讓每一行都有一個onclick的javascript函數,我可以從那個被點擊的行獲取列信息。有任何想法嗎?控制器函數根據用戶想要查看的結果範圍以及排序順序獲取我的數據。在jQuery DataTable初始化中動態設置行onclick事件
我唯一的javascript代碼如下:
<script>
$(function() {
var oTable;
oTable = $('#tblItemModel').DataTable({
"serverSide": true,
"paginate": true,
"ajaxSource": "/Finance/ItemListAjax",
"processing": true,
"serverMethod": "GET",
"displayLength": 50
});
})
</script>
我的HTML如下:
<table class="table table-striped at-table" id="tblItemModel">
<thead>
<tr>
<th>
Id
</th>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.ListPrice)
</th>
<th>
@Html.DisplayNameFor(model => model.DiscountPrice)
</th>
</tr>
</thead>
<tbody class="mousechange"></tbody>
</table>
由於該問題中的「oTable」是「DataTable」的一個實例,所以不起作用。如果'oTable'是'dataTable'的一個實例,它會起作用。將'oTable'替換爲'$('#tblItemModel')。dataTable()'來解決這個問題。或者使用[1.10.x API](http://datatables.net/reference/api/)。 –
這是正確的...謝謝 – CMedina
太棒了!那就是訣竅。我在表中初始化時使用「fnDrawCallback」:function(){}取得了一些進展,但是你更簡單。 – Kevin