2016-06-20 2 views
0

У меня есть таблица, которая загружается со значениями, как так:Запуск JQuery скрипт после загрузки данных в таблицу

@foreach (var i in model) 
{ 
    <tr> 
     <td>i.value</td> 
    <tr> 
} 

Я хочу, чтобы добавить класс CSS для каждой из ячеек в таблице в зависимости от i.value , Мой план состоял в том, чтобы запустить скрипт JQuery с некоторыми условными, как это:

$(document).ready(function() { 
    var cells = document.getElementsByTagName('td'); 
    for (var i = 0, len = cells.length; i < len; i++) { 
     var classToAdd = parseInt(cells[i].innerHTML, 10); 
     if (classToAdd > 10) { 
      cells[i].className = 'newClass1'; 
     } 
     ... More conditional logic ... 
    } 
} 

Однако, это не работает, и я считаю, что это потому, что мой сценарий выполняется перед таблица заполняется. Если это так, как я могу задержать запуск скрипта после заполнения таблицы? В противном случае, пожалуйста, объясните мне, что я делаю неправильно.

+0

Как было C# связаны здесь ?! – niksofteng

ответ

0

кажется мне, как вы используете MVC ... вы можете добавить класс без JavaScript вообще:

@foreach (var i in model) 
{ 
    <tr class="@(i.PropertyToCheck <= 3 ? "classOne":"classTwo")"> 
     <td>i.value</td> 
    <tr> 
} 
+0

Есть ли более компактный способ сделать это? Каждая итерация будет загружать около десятка td, и есть также около дюжины условий для проверки, поэтому применение этого будет довольно громоздким. – ThanksInAdvance

+0

Я бы предложил создать помощник и передать модель в помощник и вернуть класс из помощника. Это должно свести к минимуму ваш код и сделать его еще более понятным! – StephenKelzer

+0

http://weblogs.asp.net/scottgu/asp-net-mvc-3-and-the-helper-syntax-within-razor @ThanksInAdvance - Вот блог, который должен помочь вам в создании помощника. – StephenKelzer