我在 html 中有三个复选框。
在 Javascript 中,我有变量 newspaper = "jang,News,Dawn"
;
现在我想根据报纸值检查复选框,如果它仅包含 jang,则应仅检查 jang 复选框,如果它包含 jang、News、Dawn,则应检查所有三个复选框。
我编写的代码总是检查最后两个复选框,这是错误的。
我的代码是:
var newspaper = document.forms[0].newspaper;
var a = "Jang,News";
var news = ["Jang", "Dawn", "News"]
for (i = 0; i < news.length; i++)
{
if (a.indexOf(news[i]))
{
newspaper[i].checked = true;
}
}
<input type="checkbox" name="newspaper[]" value="Jang">Jang<br />
<input type="checkbox" name="newspaper[]" value="Dawn">Dawn<br />
<input type="checkbox" name="newspaper[]" value="News">The News
最佳答案
如果您只想使用 Javascript 来完成此操作,则必须对代码进行一些更改:
将所有复选框的名称更改为“报纸”(不带方括号)
<input type="checkbox" name="newspaper" value="Jang"/>Jang<br />
<input type="checkbox" name="newspaper" value="Dawn"/>Dawn<br />
<input type="checkbox" name="newspaper" value="News"/>The News
检查indexOf返回值不等于-1:
if (a.indexOf(news[i]) != -1) {
newspaper[i].checked = true;
}
这是working demo .
关于javascript - 如何在javascript中检查复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25867826/