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.

Clinteney Hui
źródło

Odpowiedzi:

432

Po prostu nadaj im tę samą nazwę:

<input type="radio" name="radAnswer" />
Czarodziej cienia jest dla ciebie ucho
źródło
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
55

Wszystkie muszą mieć tę samą nazwę.

Douglas
źródło
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.

Nacięcie
źródło
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" />

FluxEngine
źródło
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>
VinayKumar.M
źródło
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.

SuKu
źródło
5

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

BK
źródło
@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