日曜日の朝。
つけっぱなしにしていたTVでONE-PIECEが流れていて、不覚にも10分で泣かされた。
ワンピってさ、たいていの登場人物に悲しい過去があって、それには悲しい別れとか、自己犠牲のエピソードがあったりして、ぜったい泣かすのよ。レベッカと片足の兵隊さん。かんべんして〜。 (>_<)
で、先週から三歩進んで二歩下がる状態だったRailsのプログラムが、だいたい希望していた動きをし始めた。
たった1画面だよ。
バカみたいな話。
何にも分かっていないやつが、Rails相手にコントローラーつくったり、Viewで悪戦苦闘したり、そしてどうしても必要だったので、jQueryまで触ったよ。実験段階ではうまく動作したので、これからカフェでランチを食べながら本格的に実装開始。
デザインが全くされていないので、まるでブルックの状態。
なんだけど、動くものを見ていると愛おしい気持ちにはなる。
で、jQueryの内容について簡単な備忘録を残す。
ラジオボタンがいくつかあって、そのラジオボタンの動作にしたがってテーブルの一部分が表示されたり、隠されたりする簡単なもの。
まずページ読み込みの際に、hogehogeというネームのラジオボタンのチェックをすべて外し、ノーチェック状態にする。そして、表示変更される全部をいったん隠す。全体に対して、この場合は「test3a」というクラスを設定しておく。こうすれば全体を一括して表示、隠しができる。
そして、表示要素にidを設定しておいて、ラジオボタンのクリックされた状況に応じて表示させたり、隠したりをする。表示要素はこれから増えるはずなので、クラス test3aを使って一括で隠し、そのあとidで必要なものを表示させる方が合理的なんだろう。
ちなみに。
jQuery(“.test3a”).hide();
jQuery(“#test2a”).hide();
上記の差は、.test3aがクラスが対象、#test2aはidが対象な点。
==========
jQuery(function(){
//ページ読み込み時に実行したい処理
jQuery('input[name=“hogehoge”]’).attr("checked",false);
jQuery(“.test3a”).hide();
//表示・非表示の切り替え
jQuery(".test1").click(function(){
jQuery(“#test1a”).show();
jQuery(“#test2a”).hide();
});
jQuery(".test2").click(function(){
jQuery(“#test1a”).hide();
jQuery(“#test2a”).show();
});
});
==========
Viewの一部
==========
<tr class="test3a" id="test1a">
<th><%= f.label :追加情報1 %></th>
<td>
テスト1
</td>
</tr>
<tr class="test3a" id="test2a">
<th><%= f.label :追加情報2 %></th>
<td>
テスト2
</td>
</tr>
==========
0 件のコメント:
コメントを投稿