/ / po kliknutí na zadávanie textu zrušte označenie prepínačov - javascript, jQuery, html, formuláre, rádio

po kliknutí na zadávanie textu vymažte prepínače - javascript, jquery, html, formuláre, rádio

Mám skupinu 4 prepínačov, po ktorej nasleduje textový vstup, keď používatelia kliknú na pole pre zadávanie textu, snažím sa vymazať všetky rádiové vstupy. tu je môj kód.

 <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>

odpovede:

2 pre odpoveď č. 1
<script>
$("#textInput").click(function () {
$("input[type=radio]").removeAttr("checked");

});
</script>

4 pre odpoveď č. 2

Môžeš použiť .prop () na nastavenie zaškrtnutej vlastnosti vstupných tlačidiel rabio. Tiež ste nesprávne napísali pravdu textInput počas viazania udalostí

<script>
$("#textInput").click(function () {
$("input[name="radio"]").prop("checked", false);
});
</script>

DEMO


1 pre odpoveď č. 3

Alebo môžete vyskúšať metódu attr ()

 $("#textInput").click(function () {
$("input[name="radio"]").attr("checked",false);

});

DEMO


1 pre odpoveď č. 4

Myslím, že najlepší spôsob, ako upraviť blok skriptov(bez zmeny vášho html) je najprv zabezpečením toho, aby sa kód spustil na pripravený dokument, a pravdepodobne by ste tiež mali zaistiť, aby bola udalosť zameraná, neklikajte, v prípade, že niekto používa klávesnicu alebo alternatívnu navigáciu:

$(function() {
$("#textInput").focus(function () {
$("input[name=radio]").prop("checked", false);
});
});

Aj keď je pravdepodobné, že budete chcieť vymazať ďalšie výbery iba v prípade, že do tohto poľa skutočne zadajú nejaké údaje, môžete radšej vykonať nasledujúce kroky:

$(function() {
$("#textInput").on("input", function () {
if($(this).val().length > 0) {
$("input[name=radio]").prop("checked", false);
}
});
});