<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 取消选中所有带有 <input type ="checkbox"name ="QuoteRequiredServices[]"语法的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10466648/