«Завершить все» - кнопка выбора над строками - js и php - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь сделать кнопку «Выбрать все» в заголовке над таблицей, проверяя, все ли флажки в определенном классе отмечены, и переключая статус при нажатии.

Я новичок в PHP и никогда раньше не работал с js. Может кто-нибудь сказать, что делать с "d.OriginalChecked" и "d.attr", так как именно там находятся ошибки (я знаю до сих пор ...)?

Выбрать все вкл / выкл в заголовке:

<td><input type="checkbox" id="complete_select_all" name="complete_select_all" onclick="checkboxCompleteSelectAll();" value="completeAll">Select All<br></td>

Для каждой строки:

 <td class="registerCellCenter" align="center" valign="top"><input type="checkbox" class="completeCheckbox" value="completed'.$courseRegisterRow['id'].'" '.($courseRegisterRow['regstatus'] == 'completed' ? 'checked' : '').' />
        </td>

... Javascript, чтобы заставить его работать - теоретически:

<script type="text/javascript">
    dojo.require("dojo.NodeList-traverse");
    // select all as completed
    function checkboxCompleteSelectAll(initial) {
        if (dojo.byId('complete_select_all')) {
            if (dojo.byId('complete_select_all').checked) {
                o.query('.completeCheckbox').forEach(function (elem) {
                    var d = dijit.getEnclosingWidget(elem);
                    d.OriginalChecked = d.attr('checked');
                    d.attr('checked', true);
                });
            } else {
                dojo.query('.completeCheckbox').forEach(function (elem) {
                    var d = dijit.getEnclosingWidget(elem);
                    if (typeof(d.OriginalChecked) !== 'undefined') {
                        d.attr('checked', d.OriginalChecked);
                    } else {
                        // keep as is, used on load
                    }
                });
            }
        }
    }

    dojo.addOnLoad(function() {
        checkboxCompleteSelectAll(true);
    });
</script>
...