Rails:在同一源列表中选择两个无线电

时间:2012-02-22 18:45:25

标签: javascript jquery ruby-on-rails forms radio-button

想知道如何处理这个问题...最好看一下图片,以便可视化表格中有希望的用户界面,以便在列表中选择选项。用户需要能够为每个选项进行首选第二选择。可以在每列中选择一个且唯一一个,就此而言,每行。

enter image description here

起初我想,自然,2个单选按钮组可能会起作用......但不确定如何?也许隐藏radio_button的{​​{1}} s在每个div的value事件中通过Javascript / JQuery操纵?当用户尝试为两个选项选择相同的选项时,事件也应检查/处理“冲突”。

或者,这可能会更好,有两个隐藏的click ...甚至更简单,只有两个隐藏的text_fields ... javascript可以填充所选选项的ID?

或许我忽略了一些更明显的事情。

我是新的(ish)与Rails javascripting所以寻找建议/验证。

感谢。

1 个答案:

答案 0 :(得分:2)

我认为这样的事情就是你想要的:

<强> 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 example

如果您需要帮助我为Rails改编,请告诉我,但它应该是直截了当的。