显示/隐藏基于复选框

时间:2011-08-16 22:02:14

标签: javascript

我有代码查看是否有任何复选框被检查,它正在运行。这里是我用的地方,在它看到没有被检查之后,检查我想让DIV显示(隐藏/显示我猜)somwhere并且如果检查了任何一个框就消失。


function checkBoxValidate(cb) {
for (j = 0; j < 8; j++) {
if (eval("document.myform.checkbox[" + j + "].checked") = false) {
document.views.checkbox[j].checked = false;
      }
   }
}

----------


<form name="myform">
                      <input class="checkbox" name="1" type="checkbox" value="check_1" onclick="document.getElementById('r-click').innerHTML = '1;" id="click">
                      1
                      <input class="checkbox" name="2" type="checkbox" value="check_2" onclick="document.getElementById('s-click').innerHTML = '2';" id="click">
                      2
                     </form>

<div id=showInstructions>Check boxes</div>

谢谢!

2 个答案:

答案 0 :(得分:0)

在原始代码中添加了几行代码以演示:

(顺便说一下,整个“eval”的东西有点混乱,可写得更简单......)

function checkBoxValidate(cb) {
var somethingIsChecked = false;
for (j = 0; j < 8; j++) {
if (eval("document.myform.checkbox[" + j + "].checked") = false) {
    document.views.checkbox[j].checked = false;
}
else {
    somethingIsChecked = true;
}

if (somethingIsChecked)
    document.getElementById("showInstructions").style.display = "block";
else
    document.getElementById("showInstructions").style.display = "none";

答案 1 :(得分:0)

function checkBoxValidate(cb) {
    var noneChecked = true;
    for (j = 0; j < 8; j++) {
        if (eval("document.myform.checkbox[" + j + "].checked") == false) {
            document.views.checkbox[j].checked = false;
        } else {
            noneChecked = false;
        }
    }
    document.getElementById("showInstructions").style.display = noneChecked ? "block" : "none";
}