2011-08-16 19 views
0

チェックボックスがオンになっているかどうかを確認するコードがあります。チェックしたものがないことが確認された後、ここで私はうまいです。チェックボックスをオンにするとDIVが表示されます(hide/show私の推測)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> 

ありがとう!

+1

「偽」(==)との比較を意味し、割り当て(=)ではないと思います。なぜここevalを使用していますか? – Li0liQ

答えて

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"; 
+0

いい理由はありません、私はちょうど(评価コメントを再)学習しています。どのようにそれがきれいになるだろう私に見せてもらえますか? – user894514

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"; 
} 
関連する問題