2016-09-05 5 views
-2

Как я могу подсчитать количество выбранных флажков из этой таблицы:Как подсчитать общее количество выбранных флажков в HTML таблице

<tbody> 
    <tr> 
     <td> 
      <center> 
       <form> 
        <input type="checkbox" value="<?php echo $rws['amount']; ?>" /> 
       </form> 
      </center> 
     </td> 
    </tr> 
</tbody> 
+0

либо есть только один, либо у вас есть неверная разметка html. Форма не может начинаться в табличной ячейке и заканчиваться другим - не то, что форма выше даже закрыта. – RamRaider

+1

Использование jquery легко сделать: '$ ('table'). Find (': checkbox'). Length' – yceruto

ответ

2

querySelectorAll позволяет получить список элементов, соответствующих любой селектор CSS, поэтому вы можете использовать это, чтобы получить флажки. Вы можете использовать Array.prototype.reduce на нем, чтобы подсчитать количество из них, которые были отмечены. Итак:

var count = Array.prototype.reduce.call(
    document.querySelectorAll("input[type=checkbox]"), 
    function(sum, cb) { 
     return sum + cb.checked ? 1 : 0; 
    }, 
    0 
); 

«массив типа» часть this answer объясняет, что использование Array.prototype.reduce, что позволяет нам рассматривать список из querySelectorAll, как если бы это был массив, когда это не так.

MDN имеет описание работы reduce.

+0

аккуратный бит кода - мне это нравится! – RamRaider

+0

Как я могу добавить общее количество всех выбранных блоков ящиков –

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