行上方的“全部完成”-选择按钮-js和php

时间:2018-09-05 07:19:59

标签: javascript php html-table dojo

我尝试在表格上方的标题上创建一个“全选”按钮,检查是否选中了某个类中的所有复选框,并在单击状态下切换状态。

我是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>

0 个答案:

没有答案