Php 选中所有复选框
我有一个以表格/表格形式返回搜索结果的网页。我想有一个全选复选框,这将选择搜索结果的所有复选框。我的显示结果代码如下:Php 选中所有复选框,php,javascript,checkbox,selectall,Php,Javascript,Checkbox,Selectall,我有一个以表格/表格形式返回搜索结果的网页。我想有一个全选复选框,这将选择搜索结果的所有复选框。我的显示结果代码如下: <form action="noJavaScript.php" name="theForm" method="post"> <table style="border: 1px solid black" RULES=ALL FRAME=VSIDES> <th> </th><th>Order #</th><
<form action="noJavaScript.php" name="theForm" method="post">
<table style="border: 1px solid black" RULES=ALL FRAME=VSIDES>
<th> </th><th>Order #</th><th>Inspector</th><th>Reference #</th><th>Client Name</th><th>Property Address</th><th>City</th><th>State</th><th>Zip</th><th>Inspection Date</th>
<?php
while ($row = mysql_fetch_assoc($result))
{
echo '<tr><td>';
echo '<input type="checkbox" name="selected[]" value="'.$row['order_number'].'"/>';
echo '</td>';
foreach ($row as $key => $value)
echo '<td>'.htmlspecialchars($value).'</td>';
echo '</tr>';
}
?>
</table>
<input type="submit" name="submit" value="Edit/Modify Order" onClick="document.theForm.action='modify.php'">
<input type="submit" name="submit" value="Clone Order" onClick="document.theForm.action='clone.php'">
<input type="submit" name="submit" value="Delete Order" onClick="document.theForm.action='deleteorder.php'">
<input type="submit" name="submit" value="Archive Order" onClick="document.theForm.action='archive.php'">
</form>
订单#检查或参考#客户名称属性地址CityStateZipInspection日期
我已尝试使用以下功能:
<script type="text/javascript"
<!--
function SetAllCheckBoxes(FormName, FieldName, CheckValue)
{
if(!document.forms[FormName])
return;
var objCheckBoxes = document.forms[FormName].elements[FieldName];
if(!objCheckBoxes)
return;
var countCheckBoxes = objCheckBoxes.length;
if(!countCheckBoxes)
objCheckBoxes.checked = CheckValue;
else
// set the check value for all check boxes
for(var i = 0; i < countCheckBoxes; i++)
objCheckBoxes[i].checked = CheckValue;
}
// -->
</script>
为每个复选框输入添加一个类
echo'代码>
然后在javascript中迭代文档中的所有输入字段,并检查它们是否同时具有type=“checkbox”
和class=“yourclass”
。并将它们全部设置为选中 您可以使用jquery以更简单的方式来完成这项工作
$("form input:checkbox").attr('checked','true');
最好的解决方案4u是Jquery脚本
/*Unik Checkbox to mark/desmark other checkboxes*/
<input type="checkbox" onclick="selectAllCheckBoxes(this)" id="checkBoxUnik"/>
/*Several other Checkboxes inside loop*/
<input type="checkbox" onclick="unselectCheckBoxUnik()" class="checkBoxInLoop" />
<script>
function selectAllCheckBoxes(obj){
$('input:checkbox:not(:disabled).checkBoxInLoop').prop('checked', jQuery(obj).prop('checked'));
}
function unselectCheckBoxUnik(){
/*first you verify if the quantity of checkboxes equals number of checkboxes*/
a = $('input:checkbox:not(:disabled).checkBoxInLoop:checked').size();
b = $('input:checkbox:not(:disabled).checkBoxInLoop').size();
/*if equals, mark a checkBoxUnik*/
((a == b)? $('#checkBoxUnik').prop("checked", true) : $('#checkBoxUnik').prop("checked", false));
}
</script>
/*用于标记/取消标记其他复选框的Unik复选框*/
/*循环中的几个其他复选框*/
功能选择所有复选框(obj){
$('input:checkbox:not(:disabled).checkBoxInLoop').prop('checked',jQuery(obj).prop('checked');
}
函数unselectCheckBoxUnik(){
/*首先验证复选框的数量是否等于复选框的数量*/
a=$('input:checkbox:not(:disabled).checkBoxInLoop:checked').size();
b=$('input:checkbox:not(:disabled).checkBoxInLoop').size();
/*如果等于,则标记复选框UNIK*/
((a==b)?$('checkBoxUnik').prop(“选中”,true):$('checkBoxUnik').prop(“选中”,false));
}
我的复选框所指的是什么?您不能这样命名复选框。JavaScript在客户端工作;因此,php是不相关的。您能发布一个呈现html的代表性示例吗?@pimvdb即使我将“myCheckbox”改为我命名的复选框,它仍然不起作用。@James:它起作用了@詹姆斯:然后,不要立即执行它,而是将一个函数绑定到按钮上。
var form = document.getElementsById('form_id');
var checkBoxes = form.getElementsByTagName('input');
for (var i in checkBoxes)
{
if (checkBoxes[i].type=="checkbox")
checkBoxes[i].checked = true;
}
/*Unik Checkbox to mark/desmark other checkboxes*/
<input type="checkbox" onclick="selectAllCheckBoxes(this)" id="checkBoxUnik"/>
/*Several other Checkboxes inside loop*/
<input type="checkbox" onclick="unselectCheckBoxUnik()" class="checkBoxInLoop" />
<script>
function selectAllCheckBoxes(obj){
$('input:checkbox:not(:disabled).checkBoxInLoop').prop('checked', jQuery(obj).prop('checked'));
}
function unselectCheckBoxUnik(){
/*first you verify if the quantity of checkboxes equals number of checkboxes*/
a = $('input:checkbox:not(:disabled).checkBoxInLoop:checked').size();
b = $('input:checkbox:not(:disabled).checkBoxInLoop').size();
/*if equals, mark a checkBoxUnik*/
((a == b)? $('#checkBoxUnik').prop("checked", true) : $('#checkBoxUnik').prop("checked", false));
}
</script>