我已经在accountJS文件中定义了一个函数formatPrice
,我想在部分视图中绑定jquery数据表时调用该函数。与此同时,我想将@item.price
值传递给此函数。
下面是代码:
@model List<Products>
<table id="datatableResult" class="searchgrid">
<thead>
<tr>
<th>Id</th>
</tr>
<tr>
<th>Product Price</th>
</tr>
</thead>
<tbody>
@if (Model != null)
{
foreach (var item in Model)
{
<tr>
<td>@item.Id</td>
<td>accountJS.formatPrice(@item.price)</td>
</tr>
}
}
</tbody>
</table>
答案 0 :(得分:0)
据我所知,accountJS.formatPrice(@item.price)
不是有效的函数调用,因为它在<script>
块之外被调用并呈现为纯文本。因此,表元素必须设置如下:
@if (Model != null)
{
foreach (var item in Model)
{
<tr>
<td>@item.Id</td>
<td>@item.price</td>
</tr>
}
}
然后,在DataTable
函数中,可以使用row
设置内render
参数的列索引来获取价格并将其传递给外部JS函数:
<script>
$(function () {
$('#datatableResult').DataTable({
// other settings
columnDefs": [{
"targets": 1,
"render": function (data, type, row, meta) {
// pass the column index here
return accountJS.formatPrice(row[1]);
}
}]
// other settings
});
});
<script>
参考:
相关问题: