私はちょうどjavascriptで始まっているので、私の質問がばかげていると私を許してください。私はいくつかのチェックボックスを持つWebページを設計して、最初のチェックボックスをオンにすると他のチェックボックスが有効になるようにしたい。 JSを使ってどうすればいいですか?Javascriptを使ってチェックボックスを有効にする
function checkBox() {
if (window.document.form1.mainbox.checked=true) {
for (i=0;i<window.document.form1.Others.length;i++) {
window.document.form1.Others[i].disabled=false;
}
}
else {
for (i=0;i<window.document.form1.Others.length;i++) {
window.document.form1.Others[i].disabled=true;
}
}
}
そしてこのHTML::
<form name="form1">
<input name="mainbox" value="mainbox" onclick="checkBox()" type="checkbox"> Mainbox<br>
<input disabled="disabled" checked="checked" tabindex="0" name="Others" type="checkbox">No. 1<br>
<input disabled="disabled" checked="checked" tabindex="1" name="Others" type="checkbox"> No. 2<br>
<input disabled="disabled" checked="checked" tabindex="2" name="Others" type="checkbox"> No. 3<br>
</form>
問題は、最初のクリックで、他のチェックボックスが有効になりますということですが、何も彼らはありませんつまり、その後のクリックに起こりません私は、次のコードを書きました再び無効になることはありません。この問題を解決するにはどうすればよいですか?どんな助けもありがとう。ありがとう!
EDIT
私はgabitzishの提案を踏襲し、それが働きました。しかし、私は今、パラメータとしてその他を渡したいので、私は書く:
<input name="mainbox" value="mainbox" onclick="checkBox(Others)" type="checkbox"> Mainbox<br>
を、次のようにスクリプトを変更:
window.checkBox = function(chkname) {
if (window.document.form1.mainbox.checked==true) {
for (i=0;i<window.document.form1.chkname.length;i++) {
window.document.form1.chkname[i].disabled=false;
}
}
else {
for (i=0;i<window.document.form1.chkname.length;i++) {
window.document.form1.chkname[i].disabled=true;
}
}
}
をしかし、これは動作しません。ここで私を助けてください。私は非常に感謝しています。
ありがとう!これは私が欲しいものでした! – user828647
私は自分の答えを編集しましたが、今すぐパラメータが関数に渡されます – gabitzish
あなたは正しいと思われ、あなたのソリューションは動作します!もう一度ありがとう、私は約束通りあなたの答えを受け入れました:) – user828647