У меня есть score
поле в таблице нарушений. И у меня много флажков. Когда я проверял чечбоксы, общее количество баллов собирается с помощью ajax. Я пользователь http://www.bootstraptoggle.com/
Одна вещь почти как это демо. http://jsfiddle.net/zch11bjo/1
<div class="panel-body">
<div class="table-responsive">
<table class="table table-bordered">
@foreach($infractions as $infraction)
<tr>
<th>{{ $infraction->title }}</th>
<td>
<input type="checkbox" name="infractions[{{ $infraction->id }}]" value="1" data-toggle="toggle" data-on="Yes" data-off="No" data-onstyle="success" data-offstyle="danger" data-score="{{ $infraction->score }}" onClick="updateTotal();">
</td>
</tr>
@endforeach
</table>
</div>
<div class="text-right">Total:
<span id="total">0</span>
</div>
</div>
Аякс
function updateTotal() {
console.log("Hello World");
var checked = document.querySelectorAll('input[type=checkbox]:checked');
var score = 0;
Array.prototype.forEach.call(checked, function(el, i){
score += parseInt(el.getAttribute('data-score'));
});
console.log(score);
document.getElementById('total').innerHTML = score;
}
Примечание: Когда я изменил следующий код. Задача по сумме решена.
<input type="checkbox" data-score="{{ $infraction->score }}" onClick="updateTotal();">