#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. Спасибо. Это также сработало, когда я просто удалил «еще» из своего кода.