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.

Respostas:


432

Simplesmente dê a eles o mesmo nome:

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

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


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.


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


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>

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.


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.


@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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.