5.5 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
bad87fee1348bd9aedf08834 | Створити набір радіокнопок | 0 | 16822 | create-a-set-of-radio-buttons |
--description--
Ви можете використовувати radio buttons (радіокнопки) для запитань, де ви хочете, щоб користувач давав вам тільки одну відповідь з декількох варіантів.
Радіокнопки це тип input
.
Кожна з радіокнопок може бути вкладеною у власний елемент label
. Коли елемент input
всередині елементу label
, він буде автоматично пов'язувати ввідну радіокнопку з міткою навколо неї.
Усі пов'язані радіокнопки повинні мати однаковий атрибут name
, щоб створити групу радіокнопок. Створюючи групу радіокнопок, вибір будь-якої однієї радіокнопки автоматично зніме інші радіокнопки всередині тієї ж групи, гарантуючи, що користувач дасть тільки одну відповідь.
Приклад радіокнопки:
<label>
<input type="radio" name="indoor-outdoor">Indoor
</label>
Оптимальна практика - встановлення атрибута for
в елементі label
зі значенням, яке відповідає значенню атрибута id
елемента input
. Це дозволяє скористатися допоміжними технологіями, щоб створити співвідношення між міткою та пов'язаним елементом input
. Приклад:
<input id="indoor" type="radio" name="indoor-outdoor">
<label for="indoor">Indoor</label>
Ми також можемо вкласти елемент input
всередині тегів label
:
<label for="indoor">
<input id="indoor" type="radio" name="indoor-outdoor">Indoor
</label>
--instructions--
Додайте пару радіокнопок до вашої форми, кожна вкладена у власний елемент label
. Одна з них повинна мати опцію indoor
, а інша повинні мати опцію outdoor
. Обидві повинні ділитися атрибутом name
з indoor-outdoor
, щоб створити радіогрупу.
--hints--
Ваша сторінка повинна мати два елементи кнопок radio
.
assert($('input[type="radio"]').length > 1);
Вашим радіо кнопкам слід вказати атрибут name
з indoor-outdoor
.
assert($('input[type="radio"]').filter("[name='indoor-outdoor']").length > 1);
Кожна з ваших двох елементів радіо кнопок повинна бути вкладеною у власний елемент label
.
assert($('label > input[type="radio"]:only-child').length > 1);
Кожен з ваших елементів label
повинен мати тег, що закривається.
assert(
code.match(/<\/label>/g) &&
code.match(/<label/g) &&
code.match(/<\/label>/g).length === code.match(/<label/g).length
);
Одна з ваших радіо кнопок повинна мати мітку indoor
.
assert(
$('label')
.text()
.match(/indoor/gi)
);
Одна з ваших радіо кнопок повинна мати мітку outdoor
.
assert(
$('label')
.text()
.match(/outdoor/gi)
);
Кожні з ваших радіо кнопок повинні бути додані всередину тегу form
.
assert($('label').parent().get(0).tagName.match('FORM'));
--seed--
--seed-contents--
<h2>CatPhotoApp</h2>
<main>
<p>Click here to view more <a href="#">cat photos</a>.</p>
<a href="#"><img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt="A cute orange cat lying on its back."></a>
<p>Things cats love:</p>
<ul>
<li>cat nip</li>
<li>laser pointers</li>
<li>lasagna</li>
</ul>
<p>Top 3 things cats hate:</p>
<ol>
<li>flea treatment</li>
<li>thunder</li>
<li>other cats</li>
</ol>
<form action="https://www.freecatphotoapp.com/submit-cat-photo">
<input type="text" placeholder="cat photo URL" required>
<button type="submit">Submit</button>
</form>
</main>
--solutions--
<h2>CatPhotoApp</h2>
<main>
<p>Click here to view more <a href="#">cat photos</a>.</p>
<a href="#"><img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt="A cute orange cat lying on its back."></a>
<p>Things cats love:</p>
<ul>
<li>cat nip</li>
<li>laser pointers</li>
<li>lasagna</li>
</ul>
<p>Top 3 things cats hate:</p>
<ol>
<li>flea treatment</li>
<li>thunder</li>
<li>other cats</li>
</ol>
<form action="https://www.freecatphotoapp.com/submit-cat-photo">
<label for="indoor"><input id="indoor" type="radio" name="indoor-outdoor"> Indoor</label>
<label for="outdoor"><input id="outdoor" type="radio" name="indoor-outdoor"> Outdoor</label><br>
<input type="text" placeholder="cat photo URL" required>
<button type="submit">Submit</button>
</form>
</main>