Javascript 取消选中所有带有 <input type ="checkbox"name ="QuoteRequiredServices[]"语法的复选框

标签 javascript

<label class="checkbox inline">
<input type="checkbox" name="Services[]" value="service1"> Service 1
</label>
<label class="checkbox inline">
<input type="checkbox" name="Services[]" value="service2"> Service 2
</label>

我正在使用 Services[],以便将 $_POST['Services'] 映射到 PHP 中的一个数组,其中包含所需的值。

但是,在客户端,我还需要在表单提交(到 PHP)后取消选中所有这些复选框。相当简单的 Javascript:(实际的复选框组有 8 个长)。

for (j=0; j<8; j++){
fields[6][j].checked=false;
}

地点:

fields[6] = formob.Services[];
formob=document.forms["FooterQuote"];

问题是我无法将 Services[] 放入 Javascript 数组中。我尝试过使用以下方法:(伪代码,这里仅语法重要)

var fields=[formob.text1, formob.text2, formob.text3, formob.Services[]];
//Syntax error at Services[]

var fields=new Array(formob.text1, formob.text2, formob.text3, formob.Services[]);
//Syntax error at Services[]

var fields=new Array(formob.text1, formob.text2, formob.text3);
fields.push(formob.Services[]);
//Syntax error at Services[]

因此,不幸的是,据我所知,我无法将 Services[] 推送到 Javascript 数组中。

我也尝试过使用 formob.Services 代替,但这也不起作用。

有谁知道如何使复选框的 name="Services[]"语法在 Javascript 数组中工作,以便我可以循环浏览并取消选中它们? :)

最佳答案

您必须像这样处理复选框:

var services = ​document.forms['FooterQuote']['Services​[]']​;

查看这篇文章了解详细信息:Dot and Square Bracket Notations .

因此要取消选中它,请使用:

for (var i = 0; i < services.length; i++) {
    services[i].checked = false;
}

关于Javascript 取消选中所有带有 &lt;input type ="checkbox"name ="QuoteRequiredServices[]"语法的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10466648/

相关文章:

javascript - 按顺时针方向排序点

javascript - 如果队列不为空,Node.js Kue 自动处理作业

javascript - 未捕获的语法错误 : Unexpected end of JSON input error when i try to take data from mysql

javascript - 如何使用 jQuery 设计事件链接列表项的样式

javascript - 如何从异步调用返回响应?

Javascript 类继承,而不是函数

javascript - webkitAnimationEnd 在开始时触发

javascript - 无法获得匹配的 typescript 类型

javascript - ExtJs getTotalCount() 不返回存储中的记录数

javascript - 如何解决 React 应用程序中 Redux 更新过于频繁的问题?