Rails: два радио выбирают в одном списке источников - PullRequest
1 голос
/ 22 февраля 2012

Хотите знать, как подойти к этому ... Лучше всего взглянуть на картинку, чтобы визуализировать, обнадеживающий, интерфейс для формы выбора опций в списке.Пользователи должны иметь возможность сделать первый выбор и второй выбор для каждого варианта.Один и только один может быть выбран в каждом столбце, и в этом отношении в каждой строке.

enter image description here

Сначала я подумал, что, естественно, 2 группы переключателей могут работать ...но не уверен как?Возможно, скрытые radio_button s, чьи value манипулируют через Javascript / JQuery в событии click на каждом div?Событие также должно проверять / обрабатывать «коллизии», когда пользователь пытается выбрать одну и ту же опцию для обоих вариантов.

Или, возможно, будет лучше с двумя скрытыми collection_select s ... или даже проще, только с двумя скрытымиtext_fields ... какой javascript может заполняться идентификатором выбранной опции?

Или, может быть, я пропускаю что-то более очевидное.

Я новичок в использовании javascript для Railsищу совет / подтверждение.

Спасибо.

1 Ответ

2 голосов
/ 23 февраля 2012

Я думаю, что-то вроде этого - то, что вы ищете:

HTML:

<form>
    <p class="exclusiveSelection">
        Selection One
        <input type="radio" name="firstColumn"/>
        <input type="radio" name="secondColumn"/>
    </p>
    <p class="exclusiveSelection">
        Selection Two
        <input type="radio" name="firstColumn"/>
        <input type="radio" name="secondColumn"/>
    </p>
    <p class="exclusiveSelection">
        Selection Three
        <input type="radio" name="firstColumn"/>
        <input type="radio" name="secondColumn"/>
    </p>
    <input type="button" id="submitForm" value="Submit">
</form>

JavaScript:

$(function() {
    $(".exclusiveSelection input[type='radio']").click(function() {
        $exclusiveSelection = $(this).parent();
        $('input[type='radio']', $exclusiveSelection).attr('checked', false);
        $(this).attr('checked', true);
    });
});

Он обеспечивает уникальность значений в столбцах и строках и работает с jQuery 1.2.6 - 1.7.1.Есть также JSFiddle пример .

Если вам нужна помощь в адаптации этого для Rails, дайте мне знать, однако это должно быть прямо.

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