yas*_*tan 1 javascript checkbox limit
我想禁用选择 2 个以上的选择复选框,但我无法使用我的 javascript 代码来做到这一点。我怎样才能做到这一点?
\n\nbtn.addEventListener("click",function () {\nvar ourRequest = new XMLHttpRequest();\n ourRequest.open(\'GET\',\'questions.json\');//json dosyas\xc4\xb1ndan sorular ve s\xc4\xb1klar okunuyor\n ourRequest.onload = function () {\n pos = 0;\n counters = [A=0,B=0,C=0,D=0];\n ourData = JSON.parse(ourRequest.responseText);\n renderQuestion(ourData);\n btn.innerHTML = "BA\xc5\x9eA D\xc3\x96N";\n }\n ourRequest.send();\n})\n\n\nvar renkler = ["Ye\xc5\x9fil","Sar\xc4\xb1","Mavi","K\xc4\xb1rm\xc4\xb1z\xc4\xb1"];\n\nfunction _(x){\nreturn document.getElementById(x);//html dom\n}\nfunction renderQuestion(data){ //soru soran fonksiyon\ntest = _("test"); //dom ile test div ini se\xc3\xa7\nif(pos >= 4){//e\xc4\x9fer pozisyon soru say\xc4\xb1s\xc4\xb1ndan b\xc3\xbcy\xc3\xbckse veya soru say\xc4\xb1s\xc4\xb1na e\xc5\x9fitse\n\n document.getElementById(\'btntest\').style.visibility = "hidden";\n\n for(var i = 0;i<choices.length;i++){test.innerHTML += "<h2>Sonu\xc3\xa7 : "+renkler[i]+" renkli ki\xc5\x9filikten "+ counters[i] +" puanl\xc4\xb1k i\xc5\x9faretlediniz.</h2>";}// test divine sonucu yazd\xc4\xb1r\n _("test_status").innerHTML = "Testi tamamlad\xc4\xb1n\xc4\xb1z."; // "test_status" ba\xc5\x9fl\xc4\xb1\xc4\x9f\xc4\xb1na test bitti yazd\xc4\xb1r\n btn.innerHTML = "TEKRAR";\n A=0;B=0;C=0;D=0;\n pos = 0; // pos tekrar 0 yap\n return false; //false d\xc3\xb6nd\xc3\xbcr\n}\n\n//_("test_status").innerHTML = "Question "+(pos+1)+"of"+data.length; // "test_status ba\xc5\x9fl\xc4\xb1\xc4\x9f\xc4\xb1na hangi soruda oldu\xc4\x9funu yazd\xc4\xb1r\nquestion = data[pos].soru; // questions listesinden 0. yani soru k\xc4\xb1sm\xc4\xb1n\xc4\xb1 question de\xc4\x9fi\xc5\x9fkenine ata\nchA = data[pos].siklar1; // 1.cevap\nchB = data[pos].siklar2; // 2.cevap\nchC = data[pos].siklar3;\nchD = data[pos].siklar4;// 3.cevap\ntest.innerHTML = "<h3>"+question+"</h3>"; //soruyu yazd\xc4\xb1r\ntest.innerHTML += "<input class=\'single-checkbox\' type=\'checkbox\' id=\'ch1\' name=\'choices\' value=\'A\'>"+chA+"<br>"; //1.cevab\xc4\xb1 yazd\xc4\xb1r\ntest.innerHTML += "<input class=\'single-checkbox\' type=\'checkbox\' id=\'ch2\' name=\'choices\' value=\'B\'> "+chB+"<br>"; //2.cevab\xc4\xb1 yazd\xc4\xb1r\ntest.innerHTML += "<input class=\'single-checkbox\' type=\'checkbox\' id=\'ch3\' name=\'choices\' value=\'C\'> "+chC+"<br>"; //3.cevab\xc4\xb1 yazd\xc4\xb1r\ntest.innerHTML += "<input class=\'single-checkbox\' type=\'checkbox\' id=\'ch4\' name=\'choices\' value=\'D\'> "+chD+"<br><br>"; //4.cevab\xc4\xb1 yazd\xc4\xb1r\n\ntest.innerHTML += "<button id=\'btntest\' class=\'button\' onclick=\'checkAnswer()\'> DEVAM ET >> </button>" //cevab\xc4\xb1 kontrol et fonksiyonunu ca\xc4\x9f\xc4\xb1r\n}\n\nfunction checkAnswer(){\nchoices = document.getElementsByName("choices"); // se\xc3\xa7enekler domunu se\xc3\xa7\nif(choices[0].checked){\n if(choices[1].checked || choices[2].checked || choices[3].checked) {\n counters[0]+=1;\n findChecked(choices);\n choices[0].checked = "false";\n }\n else{\n counters[0]+=2;\n }\n}\nelse if(choices[1].checked){\n if(choices[0].checked || choices[2].checked || choices[3].checked){\n counters[1]+=1;\n findChecked(choices);\n }\n else{\n counters[1]+=2;\n\n }\n}\nelse if(choices[2].checked){\n if(choices[0].checked || choices[1].checked || choices[3].checked){\n counters[2]+=1;\n findChecked(choices);\n }\n else{\n counters[2]+=2;\n\n }\n}\nelse if(choices[3].checked){\n if(choices[0].checked || choices[1].checked || choices[2].checked){\n counters[3]+=1;\n counters[3]++;\n }\n else{\n counters[3]+=2;\n\n }\n\n}\npos++; // pozisyonu 1 artt\xc4\xb1r\nrenderQuestion(ourData); //render questionsu tekrar \xc3\xa7a\xc4\x9f\xc4\xb1r\n}\nRun Code Online (Sandbox Code Playgroud)\n
您可能可以使用这一逻辑来防止选择多个复选框:
代码:
<label><input type="checkbox" class="check" /> Checkbox 1</label>
<label><input type="checkbox" class="check" /> Checkbox 2</label>
<label><input type="checkbox" class="check" /> Checkbox 3</label>
<label><input type="checkbox" class="check" /> Checkbox 4</label>
<label><input type="checkbox" class="check" /> Checkbox 5</label>
Run Code Online (Sandbox Code Playgroud)
和 JavaScript 一样。
<label><input type="checkbox" class="check" /> Checkbox 1</label>
<label><input type="checkbox" class="check" /> Checkbox 2</label>
<label><input type="checkbox" class="check" /> Checkbox 3</label>
<label><input type="checkbox" class="check" /> Checkbox 4</label>
<label><input type="checkbox" class="check" /> Checkbox 5</label>
Run Code Online (Sandbox Code Playgroud)
片段
var checks = document.querySelectorAll(".check");
var max = 2;
for (var i = 0; i < checks.length; i++)
checks[i].onclick = selectiveCheck;
function selectiveCheck (event) {
var checkedChecks = document.querySelectorAll(".check:checked");
if (checkedChecks.length >= max + 1)
return false;
}
Run Code Online (Sandbox Code Playgroud)
var checks = document.querySelectorAll(".check");
var max = 2;
for (var i = 0; i < checks.length; i++)
checks[i].onclick = selectiveCheck;
function selectiveCheck (event) {
var checkedChecks = document.querySelectorAll(".check:checked");
if (checkedChecks.length >= max + 1)
return false;
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12284 次 |
| 最近记录: |