Come consentire il controllo di un solo pulsante di opzione?


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

Questa è una parte del mio modello di django , ciò che dovrebbe fare è stampare diversi pulsanti di opzione, corrispondenti alle risposte assegnate ai pulsanti. Ma non so perché posso controllare più pulsanti di opzione, il che mi ha incasinato. Dovrebbe farmi controllare solo un pulsante di opzione e l'ho avuto in qualche modo ma l'ho perso. Qualsiasi aiuto? Grazie.

Risposte:


433

Basta dare loro lo stesso nome:

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

OMG ... beh, se non assegnassi loro dei nomi. tutti dovrebbero avere una stringa vuota come nome per impostazione predefinita, giusto? Grazie
Clinteney Hui,

20
@Clinteney senza nome non fanno realmente parte del modulo e il loro valore non verrà inviato al momento dell'invio del modulo. Il nome viene utilizzato dal browser per impostare i "gruppi" di pulsanti di opzione, è possibile selezionare un solo pulsante di opzione in ciascun gruppo alla volta e selezionando altro si cancella la selezione precedente. :)
Shadow Wizard è Ear For You

bingo, questo è il più semplice ma potente.
Rishabh

Per il progetto che ho appena ereditato, entrambi i pulsanti di opzione nel mio modulo DEVONO essere nominati in modo diverso. Un campo è un campo ALL, l'altro campo è dinamico, basato su un valore nell'URL. Vogliono che l'utente sia in grado di selezionare solo una radio.
user3120861

@ user3120861 quindi l'unico modo è utilizzare il codice lato client, ovvero JavaScript. È possibile con JS semplice, ma più semplice con jQuery. Per maggiori dettagli, contattami in chat e, se avremo qualcosa, aggiungerò alla risposta. Saluti! :)
Shadow Wizard è Ear For You


41

Tutti i pulsanti di opzione devono avere lo stesso nome:

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

È possibile controllare solo 1 pulsante di opzione per ciascun gruppo di pulsanti con lo stesso nome.


19

Dai loro lo stesso nome e funzionerà. Per definizione, i pulsanti di opzione avranno solo una scelta, mentre le caselle di controllo possono averne molte.

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


7

Basta dare loro lo stesso nome in tutto il modulo che si sta utilizzando.

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

6

Aggiungi l'attributo "nome" e mantieni lo stesso nome per tutti i pulsanti di opzione in un modulo.

vale a dire,

<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

Spero che possa aiutare.


5

Tutte le opzioni dei pulsanti di opzione devono avere lo stesso nome per poter selezionare un'opzione alla volta.


@PHPer forse perché ha dato la stessa risposta della risposta accettata ma 6 anni dopo ...
norcal johnny

@norcaljohnny Dovrebbe essere segnalato / segnalato ma semplicemente votarlo è altrettanto impreciso
PHPer

@PHPer, amico mio. Non ho mai detto di averlo votato verso il basso, ho semplicemente risposto al tuo commento, sul perché, potrebbe essere stato votato verso il basso.
norcal johnny,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.