大家好我首先不知道Javascript,我从互联网上获得了这个脚本,但无法让它工作。如果有人可以请那么善良并帮助我。我正在尝试创建一个“全部检查”和对于我的复选框,在我的表单上“取消选中所有”按钮,如果我单击按钮它没有选择任何内容。我哪里错了?
<?php
session_start();
?>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!--
<!-- Begin
function CheckAll(chk)
{
for (i = 0; i < chk.length; i++)
chk[i].checked = true ;
}
function UnCheckAll(chk)
{
for (i = 0; i < chk.length; i++)
chk[i].checked = false ;
}
// End -->
</script>
</head>
然后是表格:
$sql0 = "SELECT * FROM .....
$result0 = mysql_query($sql0);
echo "<form name='myform' action='...' method='post'>";
while($row0 = mysql_fetch_assoc($result0)) {
$test_id=$row0['id'];
$test_name=$row0['test_name'];
echo " <table width=600px>";
echo " <tr>";
echo " <td width=30px><input name='question[$test_id][]' type='checkbox' value='1' /></td>";
echo " <td width=580px align=left>$test_name</td>";
echo " </tr>";
echo " </table>";
}
echo "</P>";
echo "<input type='button' name='Check_All' value='Check All' onClick='CheckAll(document.myform.check_list)'>";
echo "<input type='button' name='Un_CheckAll' value='Uncheck All' onClick='UnCheckAll(document.myform.check_list)'>";
echo "</form>";
答案 0 :(得分:2)
如果您不了解javascript,我强烈建议您调查jquery - 一个可以消除跨浏览器问题并使大量JavaScript更容易的库。
只需包含以下内容:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
和你的代码
<input type='button' name='Check_All' value='Check All' onClick='$(":checkbox").attr("checked",true);'>
未经测试,但应该没问题。
答案 1 :(得分:0)
改变这个:
<td width=30px><input name='question[$test_id][]' type='checkbox' value='1' /></td>";
到此:
<td width=30px><input name='check_list[]' type='checkbox' value='1' /></td>";
答案 2 :(得分:0)
我强烈建议您使用jQuery,它可以让您专注于逻辑,而不用担心您可能遇到的跨浏览器问题。
<script src='http://code.jquery.com/jquery-1.6.3.min.js' type='text/javascript'></script>
<script>
$(document).ready(function () {
//check all
$('input[name="Check_All"]').click(function () {
//for all checkboxes where the name begins with "question", check them
$('input[name^="question"]').attr('checked', true);
});
//uncheck all
$('input[name="Un_CheckAll"]').click(function () {
//for all checkboxes where the name begins with "question", uncheck them
$('input[name^="question"]').attr('checked', false);
});
});
</script>
这是故障......
选择页面上name
属性设置为Check_all
$('input[name="Check_All"]')
单击找到的项目时,执行传递的函数中的代码
$('input[name="Check_All"]').click(function () {
//javascript code here
});
对于名称以“question”开头的所有复选框,请检查
$('input[name^="question"]').attr('checked', true);