Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   получить данные из строки таблицы (https://javascript.ru/forum/events/36687-poluchit-dannye-iz-stroki-tablicy.html)

prizrak39 24.03.2013 18:58

получить данные из строки таблицы
 
В каждой строке таблице в последнем расположен checkbox. На странице есть кнопка и происходит просмотр отмеченных checkbox после этого необходимо считать значение других ячеек строки, в котором расположен checkbox.
$('#editSection').click(function() {
       var ch = [];
       var i = 0;
       $('input[type=checkbox]:checked').each(function() {
          ch[i] = $(this).attr('name');
          i = i + 1;
       });

Также есть вопрос как сделать как проверять checkbox не на всей странице как представлено, а только на конкретной таблице?
Если выполнять вот так:
$('#tableID input[type=checkbox]:checked').each(function()

то не работает.

danik.js 24.03.2013 19:18

Цитата:

Сообщение от prizrak39
то не работает.

Быть не может
Цитата:

Сообщение от prizrak39
$(this).attr('name')

Признаки тяжелого заболевания (jQuery головного мозга)
ch[i] = this.name - вот так пишут здоровые люди когда нужно.

prizrak39 24.03.2013 19:27

Спасибо за поправку.
А как получить данные по выбранную checkbox из строки?

danik.js 24.03.2013 21:26

$('table').change(function(e){
    var $row = (e.target).closest('tr');
    var $inputs = $row.find('input[type="checkbox"]');
});

prizrak39 26.03.2013 08:45

Забыл уточнить, что мне необходимо было получить значение из ячеек.
Сделал вот так:
$('#editCourse').click(function() {
       var ch = []; 
       var i;
       var $par1;
       $('#tableCourse input[type=checkbox]:checked').each(function() {                    
          ch[i] = this.name;
          var par = $(this).parent();
          $par1 = $(par).parent();          
          i = i + 1;
       });
       $td = $par1.find('td');
       for(i = 0; i < $td.length; i++) {
           alert($td[i].innerHTML);
       }
   });

Вариант ужасны, но рабочий. Подскажите пожалуйста как можно его оптимизировать?


Часовой пояс GMT +3, время: 11:32.