2016-03-09 3 views
0

Теперь я боюсь с подсчетом количества флажков, отмеченных в столбце. Я пытаюсь подсчитать их и отобразить общее число внизу. Мой html выглядит следующим образом. Есть много столбцов!Подсчитать количество отмеченных флажков в столбце таблицы

<tr> 
    <th>Public Safety</th> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td></td> 
</tr> 
<tr> 
    <th>SSW/MS</th> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td><div class="text-center"><label class="checkbox-inline"><input type="checkbox" class="chkRootCauseSummary" /> </label></div></td> 
    <td></td> 
</tr> 

И мой JQuery до сих пор:

$('#tblRootCauseBody').on('change', 'input[type=checkbox]', function() { 
    $(" #tblRootCauseBody tr:not(:last-child) td:nth-child("+ (that.closest('td').index() - 1) + ")").each(function() { 
     $(this).html(); 
    }); 
}); 
+0

Здравствуйте, не то, что получить бы мне все т он checkboxes, которые указаны на столе? –

ответ

0

Чтобы получить индекс :nth-child() (индекс начинается с 1), вам нужно добавить 1 к значению .index() (начинается с 0)

$('#tblRootCauseBody').on('change', 'input[type=checkbox]', function() { 
 
    var index = $(this).closest('td').index() + 1, 
 
    $checked = $(" #tblRootCauseBody tr:not(:last-child) td:nth-child(" + (index) + ") input:checked"); 
 
    $('#tblRootCauseBody tr:last-child > :nth-child(' + index + ')').text($checked.length); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tbody id="tblRootCauseBody"> 
 
    <tr> 
 
     <th>Public Safety</th> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td></td> 
 
    </tr> 
 
    <tr> 
 
     <th>SSW/MS</th> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td> 
 
     <div class="text-center"> 
 
      <label class="checkbox-inline"> 
 
      <input type="checkbox" class="chkRootCauseSummary" /> 
 
      </label> 
 
     </div> 
 
     </td> 
 
     <td></td> 
 
    </tr> 
 
    <tr> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
    </tr> 
 
    </tbody> 
 
</table>

+0

Существует вероятность того, что OP запутался в строках и столбцах. Он предоставил дополнительный черный 'td' до конца каждой строки. – RRK

+0

Нет, я не смущен: D Это для всех флажков, отмеченных в строке :) –

+0

О, и это сработало. Спасибо огромное! –

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