Как проверить несколько флажков в JavaScript?

#javascript #validation #checkbox

Вопрос:

У меня есть 4 флажка, я хочу показывать разные предупреждения для первых двух, когда они выбраны, но не получают вывода.Пожалуйста, дайте мне знать, где все пошло не так.

 let ReviewCheckBox = checkform.ratings; if (ReviewCheckBox[0].checked == true) {  alert("1 Selected"); } else if (ReviewCheckBox[0].checked == true amp;amp; ReviewCheckBox[1].checked == true) {  alert("Both Selected"); } 
 lt;divgt;  lt;spangt;CUSTOMER REVIEWSlt;/spangt;lt;brgt;  lt;form name="checkform" onclick="productFilter()"gt;  lt;input type="checkbox" name="ratings" id="rating-checka"gt;  lt;label for="rating-checka"gt;4 * amp; Abovelt;/labelgt;lt;brgt;   lt;input type="checkbox" name="ratings" id="rating-checkb"gt;  lt;label for="rating-checkb"gt;3 * amp; Abovelt;/labelgt;lt;brgt;   lt;input type="checkbox" name="ratings" id="rating-checkc"gt;  lt;label for="rating-checkc"gt;2 * amp; Abovelt;/labelgt;lt;brgt;   lt;input type="checkbox" name="ratings" id="rating-checkd"gt;  lt;label for="rating-checkd"gt;1 * amp; Abovelt;/labelgt;  lt;/formgt; lt;/divgt; 

Ответ №1:

1) Вы должны проверять каждый установленный флажок, чтобы для этого вы могли создать функцию productFilter , и она будет запускаться каждый раз, когда вы устанавливаете флажок

2) Вы должны сначала проверить 0 и 1 проиндексировать флажок, чем only 0 .

 function productFilter() {  let ReviewCheckBox = checkform.ratings;  if (ReviewCheckBox[0].checked == true amp;amp; ReviewCheckBox[1].checked == true) {  alert("Both Selected");  } else  if (ReviewCheckBox[0].checked == true) {  alert("1 Selected");  } } 
 lt;divgt;  lt;spangt;CUSTOMER REVIEWSlt;/spangt;lt;brgt;  lt;form name="checkform" onclick="productFilter()"gt;  lt;input type="checkbox" name="ratings" id="rating-checka"gt;  lt;label for="rating-checka"gt;4 * amp; Abovelt;/labelgt;lt;brgt;   lt;input type="checkbox" name="ratings" id="rating-checkb"gt;  lt;label for="rating-checkb"gt;3 * amp; Abovelt;/labelgt;lt;brgt;   lt;input type="checkbox" name="ratings" id="rating-checkc"gt;  lt;label for="rating-checkc"gt;2 * amp; Abovelt;/labelgt;lt;brgt;   lt;input type="checkbox" name="ratings" id="rating-checkd"gt;  lt;label for="rating-checkd"gt;1 * amp; Abovelt;/labelgt;  lt;/formgt; lt;/divgt; 

Комментарии:

1. Спасибо. Это также сработало, когда я просто удалил «еще» из своего кода.