複数の質問があるフォーム (動的に作成されたアンケート) があります。jQuery を使用してラジオをボタン (http://jqueryui.com/demos/button/#radio) としてスタイル設定しましたが、ここではコードを少し削減しました...
<div class="yesnoradios">
<input type="radio" name="section<%= section %>_question<%= question %>" id="section<%= section %>_question<%= question %>_Y" value="Y" />Yes
<input type="radio" name="section<%= section %>_question<%= question %>" id="section<%= section %>_question<%= question %>_N" value="N" />No
<input type="radio" name="section<%= section %>_question<%= question %>" id="section<%= section %>_question<%= question %>_NA" value="NA" />N/A
</div>
したがって、動的に名前が付けられた上記の複数のインスタンスがありますid
。
送信時にフォームをクライアント側で検証するのに苦労しています。私がしなければならないことは、質問ごとに 1 つの回答が選択されるようにすることです。私は jQuery の経験があまりないので、これまでに行ったことは、各質問をループすることだけです。
$('.yesnoradios').each(function(index) {
alert($(this).attr("id"));
});
英語でページを表示する場合、select
ラジオ ボタンの代わりに 's を使用しているため、問題なく検証できますが、この例でそれを使用できない理由は、ユーザーが質問の構成によって「はい」または「いいえ」に相当する言語が異なるため、チェックマークとバツ印を使用しています。
助けてくれてありがとう。
編集:私がやろうとしたことは、.children() 関数を使用して、チェックされているかどうかを確認し、そうでない場合はフォームが無効であることを示すフラグを設定することです。しかし、構文を正しく理解できず、これに適したコード サンプルをまだ見つけることができませんでした。