Отключить радио-кнопки - PullRequest
       1

Отключить радио-кнопки

0 голосов
/ 19 декабря 2011

РЕДАКТИРОВАТЬ * Ответ ниже исправил проблему, если у кого-то есть такие же проблемы.

Небольшая проблема с моими радиокнопками. У меня три строки в каждой с 3 радиокнопками. Я хочу, чтобы пользователь мог проверить любую из радиокнопок в первых двух строках, но при этом мог выбрать только один параметр в каждой строке:

Например

Пользователь может выбрать только одну опцию из «keystage1yr1» и может выбрать только одну опцию из «keystage1yr2». Все это прекрасно работает, поскольку у них одинаковое «имя», поэтому по умолчанию пользователь может выбрать только одно имя для каждой строки.

Я пробовал:

Отключить переключатель, если выбран другой

Как отменить выбор целой группы переключателей, когда пользователь нажимает какую-либо другую кнопку?

Но знать удачу, хотя они могут помочь другим людям.

<input class="radio" type="radio" name="keystage1yr1" value="Paper" /> <span>&#163;25</span>
<input class="radio" type="radio" name="keystage1yr1" value="CD" /> <span>&#163;25 excl VAT</span>
<input class="radio" type="radio" name="keystage1yr1" value="Paper & CD" /> <span>&#163;40 excl VAT</span>

<input class="radio" type="radio" name="keystage1yr2" value="Paper" /> <span>&#163;25</span>
<input class="radio" type="radio" name="keystage1yr2" value="CD" /> <span>&#163;25 excl VAT</span>
<input class="radio" type="radio" name="keystage1yr2" value="Paper & CD" /> <span>&#163;40 excl VAT</span>

<input class="radio" type="radio" name="keystage1save" value="Paper" /> <span>&#163;47.50</span>
<input class="radio" type="radio" name="keystage1save" value="CD" /> <span>&#163;47.50 excl VAT</span>
<input class="radio" type="radio" name="keystage1save" value="Paper & CD" /> <span>&#163;75 excl VAT</span>

Заранее спасибо.

1 Ответ

1 голос
/ 19 декабря 2011

Вот некоторый Javascript, который должен вам помочь:

// Simply caching the dom queries for speed
$yearstages = $('input[name="keystage1yr2"],input[name="keystage1yr1"]');
$savestages = $('input[name="keystage1save"]');
// I only attach one handler to some parent element:
$('#radios').on('change', 'input', function() {
    if (this.name == "keystage1save") {
        $yearstages.filter('input:checked').prop('checked', false);
    } else {
        $savestages.filter('input:checked').prop('checked', false);
    }
});

Пример этой работы: http://jsfiddle.net/CUTnY/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...