我的问题是我的变量在JavaScript中不起作用。 所有变量都需要在开头没有一些字符的名称,这是愚蠢的事情......无论如何,我正在尝试创建一个“选择所有复选框”的函数。它没有用,所以我查看了页面源/信息,发现变量没有改变。
这是我的意见:
echo "<input onclick='checkAll(1);' type='checkbox' name='master'/><br/>";
我的功能:
function checkAll(i)
{
for(var i=1; i < <?php echo $num; ?>; i++)
{
if(document.demo.master[i].checked == true)
{
document.demo.message[i].checked = true;
}
else
{
document.demo.message[i].checked = false;
}
}
}
所以是的,就是这样。我可以告诉你,我也试过没有<i>
in checkAll("i")
编辑:每封邮件的每个复选框都有以下代码:echo "<input style='margin-left:-15px;margin-top:20px;' type='checkbox' name='message' value='$rid' /><br/>";
编辑:而且,我曾经尝试过一段代码并且它可以在另一台计算机上运行,但是在我的计算机上却没有用。我们有完全相同的代码......这是正常的吗?有什么问题?
答案 0 :(得分:0)
为什么不呢:
function checkAll()
{
for(var i=0; i < <?php echo $num; ?>; i++)
{
document.demo.message[i].checked = true;
}
}
如果您想切换当前值:
function toggleAll()
{
for(var i=0; i < <?php echo $num; ?>; i++)
{
document.demo.message[i].checked = !document.demo.message[i].checked;
}
}
但是,这在实践中似乎没有用处(如果选中A并且未选中B和C,您希望A未经检查且B和C检查多久?)。我只需选择全部和取消全选按钮。
我删除了参数,将i更改为0(0-indexed),然后无条件地选中该框。在你倒退之前,它会检查它是否已被检查,反之亦然。而且您不需要在checkAll方法中将其设置为false。
另外,选择All All a按钮:
echo "<input onclick='checkAll(1);' type='button' name='master' value='Select All' /><br/>";
答案 1 :(得分:0)
对于这个问题,我使用prototype js lib
的力量拿走你的复选框
<input style='margin-left:-15px;margin-top:20px;' type='checkbox' name='message' value='$rid' />
添加一个类
<input class='checkall' style='margin-left:-15px;margin-top:20px;' type='checkbox' name='message' value='$rid' />
然后
$$('.checkall').each(function(item){
item.checked = true;
});
或者如果你想要选中/未选中选项
$$('.checkall').each(function(item){
if(item.checked)
item.checked = false;
else
item.checked = true;
});