Como permitir que apenas um botão de opção seja verificado?

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

Esta é uma parte do meu modelo de django , o que ele deve fazer é imprimir vários botões de opção, correspondentes às respostas atribuídas aos botões. Mas não sei por que posso verificar vários botões de opção, o que me atrapalhou. Deveria apenas me deixar checar um botão de rádio e eu o tinha de alguma forma, mas o perdi. Qualquer ajuda? Obrigado.

Clinteney Hui
fonte

Respostas:

432

Simplesmente dê a eles o mesmo nome:

<input type="radio" name="radAnswer" />
Shadow Wizard é Ear For You
fonte
OMG ... bem, se eu não atribuir nomes a eles. todos eles devem ter string vazia como nome, por padrão, certo? Obrigado
Clinteney Hui
20
@Clinteney sem nome, eles não fazem parte do formulário e seu valor não será enviado ao enviar o formulário. O nome é usado pelo navegador para definir "grupos" de botões de opção, apenas um botão de opção em cada grupo pode ser selecionado ao mesmo tempo e selecionar outro limpará a seleção anterior. :)
Shadow Wizard é Ear For You
bingo, este é o mais simples e poderoso.
Rishabh
Para o projeto que acabei de herdar, os dois botões de opção no meu formulário DEVEM ter nomes diferentes. Um campo é um campo ALL, o outro é dinâmico, com base em um valor no URL. Eles querem que o usuário possa selecionar apenas um rádio.
user3120861
@ user3120861, portanto, a única maneira é usar o código do lado do cliente, ou seja, JavaScript. É possível com JS simples, mas mais fácil com jQuery. Para mais detalhes, entre em contato comigo no chat e, se conseguirmos algo, acrescentarei à resposta. Felicidades! :)
Shadow Wizard é Ear For You
55

Todos precisam ter o mesmo nome.

Douglas
fonte
41

Todos os botões de opção precisam ter o mesmo nome:

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

Apenas 1 botão de opção de cada grupo de botões com o mesmo nome pode ser verificado.

usuario
fonte
19

Dê a eles o mesmo nome e ele funcionará. Por definição, os botões de opção terão apenas uma opção, enquanto as caixas de seleção podem ter muitas.

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

FluxEngine
fonte
7

Apenas dê a eles o mesmo nome em todo o formulário que você está usando.

<form><input type="radio" name="selection">
      <input type="radio" name="selection">
      ..
      ..
</form>
VinayKumar.M
fonte
6

Adicione o atributo "name" e mantenha o mesmo nome para todos os botões de opção em um formulário.

ou seja,

<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

Espero que ajude.

SuKu
fonte
5

Todas as opções dos botões de opção devem ter o mesmo nome para que você possa selecionar uma opção por vez.

BK
fonte
@PHPer talvez porque ele deu a mesma resposta que a resposta aceita, mas 6 anos mais tarde ...
johnny norcal
@norcaljohnny deve ser relatado / sinalizado mas apenas votando-lo para baixo é tão innacurate
Phper
@PHPer vá com calma. Eu nunca disse que votei com proveito negativo, apenas respondi ao seu comentário, por que motivo pode ter sido votado negativamente.
precisa