Вызов функции javascript и передача значения функции из частичного представления - PullRequest
0 голосов
/ 21 ноября 2018

Я определил функцию formatPrice в файле accountJS, которую я хочу вызвать, связывая 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>

1 Ответ

0 голосов
/ 21 ноября 2018

Насколько я видел, 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>

Ссылка:

DataTable - рендеринг столбца

Проблема, связанная с:

JqueryDatatables Как получить Id столбца в функции визуализации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...