【问题标题】:check/uncheck all or some checkboxes with javascript or jquery? [duplicate]使用 javascript 或 jquery 选中/取消选中所有或部分复选框? [复制]
【发布时间】:2015-02-23 20:34:51
【问题描述】:

我有一个页面,页面顶部有一个表单,用户可以选择某些城市进行过滤。到目前为止,它看起来像这样:

  <?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" />

有什么帮助吗? 谢谢

【问题讨论】:

  • 请修正您的身份。谢谢。
  • 如果您发布与某个主题有关的问题,很多问答材料已经存在,您应该明确哪些以及为什么现有的问答不适用于您的情况。
  • 那些文本和复选框输入需要标签。见w3.org/TR/WCAG20-TECHS/H44.html

标签: javascript jquery html checkbox


【解决方案1】:

使用 jQuery 清除所有选中的复选框非常简单:

$("[name='cities[]']:checked").prop("checked", false)

这表示对于名称为“cities[]”的每个元素,删除选定的状态。

【讨论】:

  • 谢谢,出于某种原因,我正在考虑选择输入
  • 仍然,感谢您的提示!
【解决方案2】:

一个简单的谷歌搜索将为此产生许多结果。尝试搜索“一次检查多个复选框”。

这里有一个例子:http://www.sanwebe.com/2014/01/how-to-select-all-deselect-checkboxes-jquery

【讨论】:

    猜你喜欢
    • 2012-02-02
    • 1970-01-01
    • 2014-02-11
    • 2019-01-05
    • 2015-02-19
    • 2015-05-09
    • 1970-01-01
    • 2017-06-25
    • 2011-08-26
    相关资源
    最近更新 更多