Ho un gruppo di 4 pulsanti di opzione seguiti da un input di testo, quando gli utenti fanno clic sul campo di input di testo Sto provando a cancellare tutti gli input di radio. ecco il mio codice finora.
<input type="radio" name="radio"><label for="radio1">1</label>
<input type="radio" name="radio"><label for="radio2">2</label>
<input type="radio" name="radio"><label for="radio3">3</label>
<input type="radio" name="radio"><label for="radio4">4</label>
<input type="text" id="textInput">
<script>
$("#textinput").click(function () {
radio.checked = false;
});
</script>
risposte:
2 per risposta № 1<script>
$("#textInput").click(function () {
$("input[type=radio]").removeAttr("checked");
});
</script>
4 per risposta № 2
Puoi usare .puntello() per impostare la proprietà controllata dei pulsanti di rabio di input. Inoltre hai sbagliato a scrivere textInput
mentre associazione di eventi
<script>
$("#textInput").click(function () {
$("input[name="radio"]").prop("checked", false);
});
</script>
1 per risposta № 3
Oppure puoi provare il metodo attr ()
$("#textInput").click(function () {
$("input[name="radio"]").attr("checked",false);
});
1 per risposta № 4
Penso che il modo migliore per modificare il tuo blocco di script(senza modificare il tuo html) è innanzitutto assicurando che il codice venga eseguito sul documento pronto, e inoltre dovresti probabilmente assicurarti che l'evento sia attivo, non fare clic, nel caso qualcuno stia usando una tastiera o una navigazione alternativa:
$(function() {
$("#textInput").focus(function () {
$("input[name=radio]").prop("checked", false);
});
});
Anche se è probabilmente più probabile che tu voglia cancellare solo altre selezioni se effettivamente inseriscono alcuni dati in quel campo, potresti invece fare:
$(function() {
$("#textInput").on("input", function () {
if($(this).val().length > 0) {
$("input[name=radio]").prop("checked", false);
}
});
});