循环的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() {
//...
}
}