循环的javascript checkall/uncheckall复选框

循环的javascript checkall/uncheckall复选框,javascript,php,forms,checkbox,Javascript,Php,Forms,Checkbox,我有一个网页为每个循环值显示多个复选框。为此,我执行了以下代码。它工作不好 <? $idArray=array(); foreach($this->login as $login): $idArray[]=$login['id']; endforeach; $count=count($idArray); ?> JavaScript函数 <script type="text/javascript" language="javascript"> var j

我有一个网页为每个循环值显示多个复选框。为此,我执行了以下代码。它工作不好

<?
$idArray=array();
foreach($this->login as $login):
$idArray[]=$login['id'];
endforeach;
$count=count($idArray);
?>

JavaScript函数

<script type="text/javascript" language="javascript">
    var jArray = <?= json_encode($idArray); ?> ;
    var l = <?= $count; ?> ;
    for (var i = 0; i < l; i++) {
        var value = jArray[i];
        function 'setCheckboxes' + value(act) {
            var e = document.getElementsByClassName('names' + value);
            var elts_cnt = (typeof(e.length) != 'undefined') ? e.length : 0;
            if (!elts_cnt) {
                return;
            }
            for (var i = 0; i < elts_cnt; i++) {
                e[i].checked = (act == 1 || act == 0) ? act : (e[i].checked ? 0 : 1);
            }
        }
    }
</script>

var-jArray=;
变量l=;
对于(变量i=0;i
形式


用户名:
密码:
|
我已将函数名添加为函数“设置复选框”+值(act)。但我知道这不是正确的语法。如何在javascript函数中使用变量名。或者有没有更好的方法来选择指定表中的复选框


谢谢

你想要做的事情很简单:这是否是一个好的方法更值得怀疑。让我们从问题的核心开始:如何创建包含变量名的函数(在您的例子中,您需要函数
setCheckboxes1
setCheckboxes2
,等等)

在JavaScript中,函数是一流的公民,所以您甚至不需要这样做,但让我们假设您确实需要这样做。在JavaScript中声明函数时,实际上并不是在声明函数,而是在全局对象上声明方法。在浏览器中,该全局对象仅称为
窗口
。因此,如果您想创建所有函数,只需要以下内容:

for(var i=0;i<l;i++) {
    var value=jArray[i];
    window['setCheckboxes'+value(act)] = function() {
        //...
    }
}
(变量i=0;i)的

for(var i=0;i<l;i++) {
    var value=jArray[i];
    window['setCheckboxes'+value(act)] = function() {
        //...
    }
}