私はJavaScriptが初めてで、質問があります。Twitterのブートストラップ、レール、シンプルフォームを使用しています。フォームで JavaScript を使用して、チェックボックスをトグルに置き換えました。編集時に同じフォームを使用して、正しいトグル オプションをユーザーに表示しようとしています。
edit アクションでフォームが表示されると、チェックボックスの値 (1 または 0) のトグルが選択されます。以下の JS コードは、1 つのトグル要素に対して機能します。同じ ID を与えた場合、すべてのトグルをループできるかどうかを知りたいですか? フォームに 10 個以上のチェックボックスがあり、JS を複製したくありません。
var n = $('#hole_punch_buttons input[value=1]').length;
if(n === 1){
$("#hole_punch_buttons a[data-value=1]").addClass('active')
}
else {
$("#hole_punch_buttons a[data-value=0]").addClass('active')
}
HTMLは次のとおりです。
<div id="hole_punch_buttons" class="btn-group" data-toggle="buttons-radio">
<div class="control-group hidden">
<div class="controls">
<input class="hidden" id="id_card_design_hole_punch" name="id_card_design[hole_punch]" type="hidden" value="1">
</div>
</div>
<a class="btn ffbtn active" data-value="1">Yes</a>
<a class="btn sfbtn" data-value="0">No</a>
</div>
たぶん、それを完全に書くためのより良い方法があります...