我有一个页面,我在页面顶部有一个表单,用户可以选择要过滤的特定城市。到目前为止它看起来像这样:
<?php
$start=_GET['start'];
$end=_GET['end'];
if(empty($start)){
$start=date("Ym");
}
if(empty($end)){
$end=date("Ym");
}
$places=array();
if(!empty($_GET['cities'])){
foreach($_GET['cities'] as $loc){
array_push($places,$loc);
}
}else{
$places=('CHI','DET','LA','NYC','DAL','SPR','PHI','PITTS','HST','KMZ','SCR','BUF','ALB','UTI','DEC','QNC','SNF');
}
?>
//html
<form method='GET'>
START:<input type='text' name='start' value= '<?$start?>'>
END: <input type='text' name='end' value='<?$end?>'>
<input type='checkbox' name='cities[]' value='CHI' <?= (in_array('CHI', $places)) ? 'checked' : ''; ?> >CHICAGO
<input type='checkbox' name='cities[]' value='DET' <?= (in_array('DET', $places)) ? 'checked' : ''; ?> >DETROIT
<input type='checkbox' name='cities[]' value='LA' <?= (in_array('LA', $places)) ? 'checked' : ''; ?> >LOS ANGELES
<input type='checkbox' name='cities[]' value='NYC' <?= (in_array('NY', $places)) ? 'checked' : ''; ?> >NEW YORK
<input type='checkbox' name='cities[]' value='DALLAS' <?= (in_array('DAL', $places)) ? 'checked' : ''; ?> >DALLAS
<input type='checkbox' name='cities[]' value='SPR' <?= (in_array('SPR', $places)) ? 'checked' : ''; ?> >SPRINGFIELD
<input type='checkbox' name='cities[]' value='PHI' <?= (in_array('PHI', $places)) ? 'checked' : ''; ?> >PHILADELPHIA
......rest of the cities....
<input type='submit' value='Filter'>
</form>
<?
$SQL="SELECT NAME,
ID,
PHONE,
EMAIL,
EVENT,
LOCATION
FROM SHOPPERS
WHERE LOCATION IN ('".implode("', '", $places)."')
AND EVENT BETWEEN '{$start}' and '{$end}'
AND ID BETWEEN '25687' AND '28050'
";
//and then fetch array to print out results...
.....
?>
现在效果很好。页面加载后,所有城市都会被检查,用户可以选中/取消选中他们想要的内容。但是,现在,我想在城市正上方添加一些方框/按钮,其中包含状态名称,这样如果我只想在伊利诺伊州的城市进行过滤,我可以点击/取消选中它,它会检查/取消选中芝加哥,迪凯特和昆西。我还想放两个新按钮,一个用于选择全部,一个用于清除所有按钮。 所以这两个新按钮看起来像这样:
<input type="button" class="check" value="Select All" />
<input type="button" class="check" value="Clear" />
有任何帮助吗? 谢谢
答案 0 :(得分:1)
使用jQuery清除所有选中的复选框非常简单:
$("[name='cities[]']:checked").prop("checked", false)
对于使用名称&#34; cities []&#34;选择的每个元素,都会删除所选状态。
答案 1 :(得分:0)
简单的Google搜索会为此产生许多结果。尝试向上搜索&#34;一次检查多个复选框。&#34;
这里有一个例子:http://www.sanwebe.com/2014/01/how-to-select-all-deselect-checkboxes-jquery