我在违规表中有score
字段。而且我有很多复选框。当我选中复选框时,总分数是用ajax收集的。
<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="بلی" data-off="خیر" 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">
</span>
</div>
</div>
ajax
function updateTotal() {
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();">