2012-02-22 10 views
1

これにアプローチする方法を知りたい...リスト内のオプションを選択するためのフォームの希望のUIを視覚化することをおすすめします。ユーザーはの最初の選択の2番目の選択をそれぞれのオプションにする必要があります。それぞれの列で1つだけを選択できます。その場合は、各行を選択できます。まずRails:2つのラジオが同じソースリストで選択

enter image description here

私は当然、2つのラジオボタングループがうまくいくかもしれない、と思った...しかし、わからないどのように?おそらく隠されたradio_buttonvalueは、各divのclickイベントでJavascript/JQuery経由で操作されますか?イベントは、ユーザーが両方の選択肢に対して同じオプションを選択しようとすると、「衝突」をチェック/処理する必要もあります。

または、おそらく2つの非表示のcollection_select ...またはさらに単純で、2つの非表示のtext_fields ...これは、javascriptで選択したオプションのIDを入力できますか?

また、もっと明白なものを見落としているかもしれません。

私はRubesでjavascriptを使ってアドバイス/検証を探しているので、新しい(ish)です。

ありがとうございました。

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); 
    }); 
}); 

それは値が列全体で一意であることを保証

+0

「オプションB」は両方とも選択できますか? –

+0

番号。各列の*と*の各行に** 1つの**ボックスしかチェックできません。 – Meltemi

+0

その場合、[row1 x col1]から選択されたボックスがあり、次の選択肢のユーザーが[row1x col2]を選択しようとしたときに何が起こるか。以前の選択をリセットする予定ですか? –

答えて

2

私はこのようなものは、あなたが探して何だと思います行とjQuery 1.2.6 - 1.7.1で動作します。 JSFiddle exampleもあります。

これをRailsに適応させる助けが必要な場合は、私に知らせてください。ただし、それは簡単です。

+0

これは*非常に役に立ちます...ありがとうございます!機能は私が探しているものです!さて、あなたもこれで助けることができないのかどうかは分かりませんが、実際のラジオボタン自体を変更して、よりよく見えるようにしたいと思います。 (タッチUIでも動作するはずですが、別のCSSでもかまいません)。何かご意見は? – Meltemi