Saya memiliki 4 kotak centang, saya ingin menampilkan peringatan yang berbeda untuk dua yang pertama ketika mereka dipilih tetapi tidak mendapatkan hasilnya. Tolong beri tahu saya di mana kesalahannya.

let ReviewCheckBox = checkform.ratings;
if (ReviewCheckBox[0].checked == true) {
  alert("1 Selected");
} else if (ReviewCheckBox[0].checked == true && ReviewCheckBox[1].checked == true) {
  alert("Both Selected");
}
<div>
  <span>CUSTOMER REVIEWS</span><br>
  <form name="checkform" onclick="productFilter()">
    <input type="checkbox" name="ratings" id="rating-checka">
    <label for="rating-checka">4 * & Above</label><br>

    <input type="checkbox" name="ratings" id="rating-checkb">
    <label for="rating-checkb">3 * & Above</label><br>

    <input type="checkbox" name="ratings" id="rating-checkc">
    <label for="rating-checkc">2 * & Above</label><br>

    <input type="checkbox" name="ratings" id="rating-checkd">
    <label for="rating-checkd">1 * & Above</label>
  </form>
</div>
0
Gopichand 27 November 2021, 12:50

1 menjawab

Jawaban Terbaik

1) Anda harus memvalidasi pada setiap kotak centang yang dicentang sehingga untuk ini Anda dapat membuat fungsi productFilter dan itu akan berjalan setiap kali Anda mencentang kotak

2) Anda harus mencentang 0 dan 1 kotak centang indeks terlebih dahulu daripada only 0.

function productFilter() {
  let ReviewCheckBox = checkform.ratings;
  if (ReviewCheckBox[0].checked == true && ReviewCheckBox[1].checked == true) {
    alert("Both Selected");
  } else
  if (ReviewCheckBox[0].checked == true) {
    alert("1 Selected");
  }
}
<div>
  <span>CUSTOMER REVIEWS</span><br>
  <form name="checkform" onclick="productFilter()">
    <input type="checkbox" name="ratings" id="rating-checka">
    <label for="rating-checka">4 * & Above</label><br>

    <input type="checkbox" name="ratings" id="rating-checkb">
    <label for="rating-checkb">3 * & Above</label><br>

    <input type="checkbox" name="ratings" id="rating-checkc">
    <label for="rating-checkc">2 * & Above</label><br>

    <input type="checkbox" name="ratings" id="rating-checkd">
    <label for="rating-checkd">1 * & Above</label>
  </form>
</div>
1
decpk 27 November 2021, 12:59
Terima kasih. Ini juga berfungsi ketika saya menghapus 'else' dari kode saya.
 – 
Gopichand
27 November 2021, 13:09