Saya memiliki tombol Radio tempat mengkliknya menunjukkan atau menyembunyikan beberapa div. Ini berfungsi dengan baik di mana saja kecuali Safari di iOS. Tidak ada yang terjadi sama sekali di sana. Berikut HTMLnya:

Saya menemukan banyak pertanyaan lain di sini yang menyebabkan klik pada elemen lain yang tidak berfungsi di iOS Safari, jadi saya mencoba solusi seperti ini https://gravitydept.com/blog/js-click-event-bubbling-on-ios tetapi tidak beruntung dengan itu.

HTML:

<input type="radio" name="PaymentTypeRadio" value="onetime"> One Time Payment<br>
<input type="radio" name="PaymentTypeRadio" value="preauth"> Pre-Authorized Payments Sign-up<br>
...
<div class="form-group" id="PreauthDiv" style="display: none">
...
</div>
<div id="OneTimePaymentFormDiv">
...
</div>

Permintaan:

$("input[name='PaymentTypeRadio'").click(function(){
  var radioValue = $("input[name='PaymentTypeRadio']:checked").val();
  switch (radioValue) {
    case "onetime":
      $('#PreauthDiv').hide();
      $('#OneTimePaymentFormDiv').show();
      break;
    case "preauth":
      $('#PreauthDiv').show();
      $('#OneTimePaymentFormDiv').hide();
      break;
    }
});

Mungkin ada hubungannya dengan 2 input dengan nama yang sama? Saya benar-benar tidak yakin harus mencoba apa lagi.

0
Brent Kilboy 8 Agustus 2019, 00:51

1 menjawab

Jawaban Terbaik

Anda kehilangan tanda kurung tutup di fungsi pemilih Anda, yang berakhir dengan kesalahan ini: Error: Syntax error, unrecognized expression: input[name='PaymentTypeRadio'

Ubah ke $("input[name='PaymentTypeRadio']").click(function(){...}

Dan itu harus bekerja.

1
mertcanb 7 Agustus 2019, 22:18