Jak zezwolić na sprawdzanie tylko jednego przycisku opcji?


145
{% for each in AnswerQuery %}
    <form action={{address}}>
        <span>{{each.answer}}</span><input type='radio'>
        <span>Votes:{{each.answercount}}</span>
        <br>
    </form>
{% endfor %}

Jest to część mojego szablonu django , która ma na celu wydrukowanie kilku przycisków radiowych, odpowiadających odpowiedziom przypisanym do przycisków. Ale nie wiem, dlaczego mogę sprawdzić wiele przycisków opcji, co mnie zepsuło. Ma mi pozwolić tylko sprawdzić jeden przycisk radiowy i jakoś to miałem, ale zgubiłem. Jakaś pomoc? Dziękuję Ci.

Odpowiedzi:


432

Po prostu nadaj im tę samą nazwę:

<input type="radio" name="radAnswer" />

OMG ... cóż, jeśli nie przypiszę im nazw. wszystkie powinny mieć domyślnie pusty ciąg jako nazwę, prawda? Dziękuję
Clinteney Hui

20
@Clinteney bez nazwy nie jest tak naprawdę częścią formularza, a ich wartość nie zostanie wysłana podczas przesyłania formularza. Nazwa jest używana przez przeglądarkę do ustawiania „grup” przycisków opcji, tylko jeden przycisk opcji w każdej grupie może być wybrany w tym samym czasie, a wybranie innego spowoduje wyczyszczenie poprzedniego wyboru. :)
Shadow Wizard is Ear For You

bingo, to jest najprostszy, ale potężny.
Rishabh

W przypadku projektu, który właśnie odziedziczyłem, oba przyciski opcji w moim formularzu MUSZĄ mieć inne nazwy. Jedno pole jest polem ALL, drugie pole jest dynamiczne, oparte na wartości w adresie URL. Chcą, aby użytkownik mógł wybrać tylko jedno radio.
user3120861

@ user3120861 więc jedynym sposobem jest użycie kodu po stronie klienta, tj. JavaScript. Jest to możliwe w przypadku zwykłego JS, ale łatwiejsze dzięki jQuery. Aby uzyskać więcej informacji, zadzwoń do mnie na czacie, a jeśli coś dostaniemy, dodam do odpowiedzi. Twoje zdrowie! :)
Shadow Wizard is Ear For You


41

Wszystkie przyciski radiowe muszą mieć tę samą nazwę:

<input type='radio' name='foo'>

Można zaznaczyć tylko 1 przycisk radiowy z każdej grupy przycisków o tej samej nazwie.


19

Nadaj im to samo imię i zadziała. Z definicji przyciski radiowe będą miały tylko jeden wybór, podczas gdy pola wyboru mogą mieć wiele.

<input type="radio" name="Radio1" />


7

Po prostu nadaj im tę samą nazwę w całym formularzu, którego używasz.

<form><input type="radio" name="selection">
      <input type="radio" name="selection">
      ..
      ..
</form>

6

Dodaj atrybut „name” i zachowaj tę samą nazwę dla wszystkich przycisków opcji w formularzu.

to znaczy,

<input type="radio" name="test" value="value1"> Value 1
<input type="radio" name="test" value="value2"> Value 2
<input type="radio" name="test" value="value3"> Value 3

Mam nadzieję, że to pomoże.


5

Wszystkie opcje przycisków radiowych muszą mieć tę samą nazwę, aby można było wybrać jedną opcję naraz.


@PHPer może dlatego, że udzielił tej samej odpowiedzi, co zaakceptowana, ale 6 lat później ...
norcal johnny

@norcaljohnny Powinien zostać zgłoszony / oflagowany, ale samo głosowanie jest równie nieścisłe
PHPer

@PHPer spokojnie kolego. Nigdy nie powiedziałem, że przegłosowałem, odpowiedziałem tylko na twój komentarz, dlaczego mógł zostać odrzucony.
norcal johnny
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.