จะอนุญาตให้เลือกปุ่มตัวเลือกเดียวได้อย่างไร


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

นี่เป็นส่วนหนึ่งของเทมเพลตdjangoของฉันสิ่งที่ควรทำคือการพิมพ์ปุ่มตัวเลือกต่าง ๆ ที่ตรงกับคำตอบที่กำหนดให้กับปุ่มต่างๆ แต่ฉันไม่รู้ว่าทำไมฉันถึงสามารถตรวจสอบปุ่มตัวเลือกได้หลายตัวซึ่งทำให้ฉันสับสน มันควรจะให้ฉันตรวจสอบเพียงปุ่มเดียวและฉันมีมัน แต่ฉันทำมันหายไป ความช่วยเหลือใด ๆ ขอบคุณ.

คำตอบ:


432

เพียงให้ชื่อเดียวกันกับพวกเขา:

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

OMG ... ถ้าฉันไม่กำหนดชื่อให้ พวกเขาทั้งหมดควรมีสตริงที่ว่างเปล่าเป็นชื่อโดยค่าเริ่มต้นใช่มั้ย ขอบคุณ
Clinteney Hui

20
@Clinteney โดยไม่มีชื่อพวกเขาไม่ได้เป็นส่วนหนึ่งของแบบฟอร์มจริง ๆ และค่าของพวกเขาจะไม่ถูกส่งเมื่อส่งแบบฟอร์ม เบราว์เซอร์ใช้ชื่อนี้เพื่อตั้งค่า "กลุ่ม" ของปุ่มตัวเลือกมีเพียงปุ่มเดียวในแต่ละกลุ่มที่สามารถเลือกได้ในคราวเดียวและการเลือกอื่น ๆ จะเป็นการยกเลิกการเลือกก่อนหน้านี้ :)
Shadow Wizard คือ Ear For You

bingo นี้เป็นเกมที่เรียบง่าย แต่ทรงพลังที่สุด
Rishabh

สำหรับโครงการที่ฉันเพิ่งรับมาปุ่มตัวเลือกทั้งสองในแบบฟอร์มของฉันต้องตั้งชื่อต่างกัน เขตข้อมูลหนึ่งเป็นเขตข้อมูลทั้งหมดเขตข้อมูลอื่นเป็นแบบไดนามิกขึ้นอยู่กับค่าใน URL พวกเขาต้องการให้ผู้ใช้สามารถเลือกได้เพียงวิทยุเดียวเท่านั้น
user3120861

@ user3120861 ดังนั้นวิธีเดียวคือใช้รหัสฝั่งไคลเอ็นต์เช่น JavaScript เป็นไปได้ด้วย JS ธรรมดา แต่ง่ายขึ้นด้วย jQuery สำหรับรายละเอียดเพิ่มเติมโปรดตีฉันในการแชทและถ้าเราจะได้อะไรฉันจะเพิ่มไปยังคำตอบ ไชโย! :)
Shadow Wizard คือ Ear For You


41

ปุ่มตัวเลือกทั้งหมดต้องมีชื่อเหมือนกัน:

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

สามารถเลือกได้เพียงปุ่มเดียว 1 ปุ่มของแต่ละกลุ่มที่มีชื่อเหมือนกัน


19

ให้ชื่อเดียวกันกับพวกเขาแล้วมันจะได้ผล ตามคำจำกัดความปุ่มตัวเลือกจะมีเพียงตัวเลือกเดียวในขณะที่กล่องกาเครื่องหมายสามารถมีได้หลายอย่าง

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


7

เพียงให้ชื่อเดียวกันกับพวกเขาในแบบฟอร์มที่คุณใช้

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

6

เพิ่มแอททริบิวต์ "name" และคงไว้ซึ่งชื่อเดียวกันสำหรับปุ่มตัวเลือกทั้งหมดในแบบฟอร์ม

กล่าวคือ

<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

หวังว่าจะช่วยได้


5

ตัวเลือกปุ่มตัวเลือกทั้งหมดจะต้องมีชื่อเดียวกันเพื่อให้คุณสามารถเลือกได้ทีละตัว


@PHPer อาจเป็นเพราะเขาให้คำตอบเดียวกับคำตอบที่ยอมรับ แต่ 6 ปีต่อมา ...
norcal johnny

@norcaljohnny ควรรายงาน / ตั้งค่าสถานะ แต่เพียงลงคะแนนก็จะเป็นความไร้เดียงสา
PHPer

@PHPer เอามันเป็นเพื่อนง่าย ฉันไม่เคยบอกว่าฉันลงคะแนนฉันเพียงแค่ตอบความคิดเห็นของคุณว่าทำไมมันอาจถูกลดระดับลง
norcal johnny
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.