2015-01-19 3 views
0

Я пытаюсь прокрутить каждый tr в моей таблице и получить значение каждого td, где td - это определенный класс.JQuery - Зацикливание по строкам таблицы

Я заселять свою таблицу, как это:

var attr = "checked"; 

    $('#mytbody').prepend('<tr><td class="cb" value="' + attr + '"><input type="checkbox" ' + attr + ' disabled class="filterPaid" id="invPaid' + i + '" value="outstanding" name="filterTasks[]"></td>.......</tr>'); 

Я пытаюсь найти, как это:

$("#paidFilter").change(function() { 
    if(this.checked) { 
     $('#mytbody > tr > td.cb').each(function(){ 
      console.log($(this).val()); 
     }); 
    } 
}); 

Однако это не возвращает значения для td класса = «Си-Би».

Как можно получить эти значения?

+1

только в целях пояснения, вы пытаетесь найти, что значение тд или ввод внутри внутри td? – indubitablee

+0

Вы проверили, верно ли 'this.checked'? –

+1

a 'td' не имеет значения' value', используйте атрибут 'data-'. 'val()' работает только с элементами формы – charlietfl

ответ

1

что-то вроде этого? http://jsfiddle.net/swm53ran/129/

.val() Элемент td не существует, как и для ввода. для тд, значение атрибута, поэтому доступ к нему по .attr('value')

$(document).ready(function() { 
    $('#mytbody > tr > td.cb').each(function(){ 
     console.log($(this).attr('value')); 
     $(this).append($(this).attr('value')); 
    }); 
}); 

<table> 
    <tbody id="mytbody"> 
     <tr> 
      <td class="cb" value="checked">CB should append value here:</td> 
      <td class="cb" value="checked">CB should append value here:</td> 
      <td class="" value="checked">NOT CB</td> 
     </tr> 
     <tr> 
      <td class="cb" value="checked">CB should append value here:</td> 
      <td class="" value="checked">NOT CB</td> 
      <td class="cb" value="checked">CB should append value here:</td> 
     </tr> 
    </tbody> 
</table> 

Вы были близки:] надеюсь, что это помогает

+0

Спасибо за это. – user94628

1

$().val() предназначен для получения value="" атрибутов из входных данных форм, таких как <input> или <textarea>.

Если вы все еще хотите присвоить атрибут value="" элементу <td> (не рекомендуется), его можно восстановить с помощью $('#mytbody').attr('value'). То же самое можно использовать и для получения значения любого другого атрибута.

Смежные вопросы