Призначте початкову величину радіо-кнопці як встановлено


Відповіді:


164

Ви можете використовувати checkedатрибут для цього:

<input type="radio" checked="checked">

11
Ви також можете просто згадати той атрибут, який не присвоює значення, тобто <введений тип = "радіо" перевірено>
niksvp

1
@niksvp Я вважаю, що перевірений = "перевірено" - це вірний спосіб попередньої перевірки перемикача - просто за допомогою "перевірено" недійсний HTML (незважаючи на те, що його підтримують більшість браузерів)
Метт Хілі

9
@matthewh - так, ви можете використовувати "перевірену" самостійно, і це дійсний HTML (хоча не дійсний XHTML). Особисто я вважаю за краще "перевірений =" перевірений "', але вам не потрібно його використовувати ... дійсно, є досить вагомий випадок проти його використання.
Algy Taylor

55

Ви можете просто використовувати:

<input type="radio" checked />

Використання просто перевіреного атрибуту без зазначення значення є таким же, як checked="checked".


як заявив @Matt Healey, використовуючи галочку без атрибуту, недійсний HTML
salvob

16
@salvob неправильний. він не є дійсним X html, однак він цілком дійсний для HTML5, який є настільки ж глобальним, як і будь-коли.
Кріс Марісіч

14

Я поставив цю відповідь на аналогічне запитання, яке було позначене як дублікат цього питання. Відповідь допомогла пристойній кількості людей, тож я подумав, що додам і сюди про всяк випадок.

Це не точно відповідає на питання, але для тих, хто використовує AngularJS, який намагається цього досягти, відповідь дещо інший. І насправді нормальна відповідь не спрацює (принаймні, це не було для мене).

Ваш html буде схожий на звичайний перемикач:

<input type='radio' name='group' ng-model='mValue' value='first' />First
<input type='radio' name='group' ng-model='mValue' value='second' /> Second

У своєму контролері ви оголосили, mValueщо пов'язано з перемикачами. Щоб одна з цих перемикачів була попередньо обрана, призначіть $scopeзмінну, пов’язану з групою, бажаному вхідному значенню:

$scope.mValue="second"

Це робить "другу" перемикач вибраною під час завантаження сторінки.


Справді! Наведені вище відповіді не працюють з Angular JS. Ваша відповідь вирішила мою проблему. Дякую! :)
Мітакш Гупта

3

Для всіх, хто шукає рішення Angular2 (2.4.8), оскільки це загально популярне питання при пошуку:

<div *ngFor="let choice of choices">
  <input type="radio" [checked]="choice == defaultChoice">
</div>

Це додасть checkedатрибут до вводу, заданого умовою, але нічого не додасть, якщо умова не виконана.

Не робіть цього:

[attr.checked]="choice == defaultChoice"

тому що це додасть атрибут checked="false" до кожного іншого вхідного елемента.

Оскільки браузер шукає лише наявність checkedатрибута ( ключа ), ігноруючи його значення, тому останній вхід у групі буде перевірено.


2

Інший спосіб встановити прапорець, встановлений на радіо-кнопках, особливо якщо ви використовуєте angularjs, це встановити прапор 'ng-check' на "true", наприклад: <input id="d_man" value="M" ng-disabled="some Value" type="radio" ng-checked="true"> Man

check = "перевірено" не працювало для мене ..


причина ng-checked="true"- з репертуару angularjs.
Августас

Або встановіть значення моделі в контролері на "true". Слідкуйте, що ви встановили його на рядок, а не на булеву!
Томас Девід Кехо

2

Зауважте, що якщо у вас є дві перемикачі з однаковим атрибутом "ім'я", і вони мають "обов'язковий" атрибут, додавання до них атрибута "перевірено" не перевірятиме їх.

Приклад. Завдяки цьому обидва радіо кнопки залишаються відміченими.

<input type="radio" name="gender" value="male" required <?php echo "checked"; ?>/>
<input type="radio" name="gender" value="female" required />

Це зробить перевірену «чоловічу» перемикач.

<input type="radio" name="gender" value="male" <?php echo "checked"; ?>/>
<input type="radio" name="gender" value="female" />

1

Я трохи спізнився на партію, і я знаю, що ОП сказав html, але якщо вам потрібно було це зробити в MVC, ви можете встановити true в третьому парамі.

наприклад:

    <p>Option One :@Html.RadioButton("options", "option1", true})</p>
    // true will set it checked

     <p>Option Two :@Html.RadioButton("options", "option2"})</p>
     //nothing will leave it unchecked

0

Якщо ви використовуєте react-redux для вашої програми та хочете показати дані, які є в магазині redux, ви можете встановити параметр "перевірено", як показано нижче.

<label>Male</label>

 <input
   type="radio"
   name="gender"
   defaultChecked={this.props.gender == "0"}
 />



 <label>Female</label>
 <input
   type="radio"
   name="gender"
   defaultChecked={this.props.gender == "1"}
 />
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.