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>
1 pre odpoveď č. 3
Alebo môžete vyskúšať metódu attr ()
$("#textInput").click(function () {
$("input[name="radio"]").attr("checked",false);
});
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);
}
});
});