сумма очков в ajax не работает с laravel5.4 - PullRequest
0 голосов
/ 27 октября 2018

У меня есть 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" 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">

        </span>
    </div>
</div>

Score

Ajax

function scorePlus (id)
{
    var total = id + id;
    document.getElementById('total').value = total;
}

1 Ответ

0 голосов
/ 27 октября 2018

Это должно работать

<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" data-score="{{ $infraction->score }})" onClick="updateTotal();">
                    </td>
                </tr>
            @endforeach
        </table>
    </div>
    <div class="text-right">Total:
        <span id="total">0</span>
    </div>
</div>

<script>
    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'));
        });

        document.getElementById('total').innerHTML = score;
    }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...