jQuery Star Rating設置のチュートリアル(似非)

| | コメント(0) | トラックバック(0)
評価のやつ(スターレイティングが一般的な名前?)が実装したかったのでjQuery Star Ratingを設置してみた。
これが、評価は高い割りにドキュメントがあまりなくて苦労したので、その記録を残す。
たぶん、こんなの設置するのなんてドキュメント要らずだろ?って話なんだろうけど。


 まずCSSとJSのインクルード。
<link href="/css/starrating/jquery.rating.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/js/jquery/jquery.js?1.3"></script>
<script type="text/javascript" src="/js/jquery/jquery.rating.pack.js?2.61"></script>
?1.3とかは僕の癖(キャッシュ対策)なので気にしないでください。要らないよ。
星の画像を好きなのにしたい人とか、画像の位置を変えたい人はCSS内の定義を編集すること。

で、ラジオボタンを配置する。
       <input name="star1" type="radio" class="star1" value="1" />
       <input name="star1" type="radio" class="star1" value="2" />
       <input name="star1" type="radio" class="star1" value="3" />
       <input name="star1" type="radio" class="star1" value="4" />
       <input name="star1" type="radio" class="star1" value="5" />
nameとclassは別の名前でもいいはずだけど理由がなければ合わせておいたほうがよろし。
class名は"star"とすると、これでもうラジオボタンが星に変わるはず。

最後に、起動スクリプトを仕込む。※prototypeを併用している関係でj$になってます。
    j$('.star1').rating({cancel: 'Cancel', cancelValue: 0,
          callback: function(value, link){
          alert(value);
            j$.ajax({
               type: "POST",
               url: "/hoge",
               data:{
                    rating : value
                   },
               success: function(xml){
                    if(j$(xml).find('IsValid').text() == "True"){
                        //TODO
                    }else{
                        //TODO
                    }
                },
               error: function(XMLHttpRequest, textStatus, errorThrown){
                    //TODO
                },
                complete: function(XMLHttpRequest, textStatus){
                    //nothing to do
                }
        });
          }
    });


   j$('.star1').rating({cancel: 'Cancel', cancelValue:0);
だけでも☆に変わってくれる。cancelValue:0は、指定しないとキャンセルボタン(デフォルトで進入禁止マークみたいなやつ)を押したときに空文字が渡る。
で、callback以降ですが、ここが星を押したときに呼び出される処理で、僕はその値をDBに登録したいので.ajax発動してます。linkはよくわかんないんだけどvalueは押されたラジオボタンのvalueが飛んできます。
他にもいろいろあるけど(readonlyとか星の4分割とか)、自分的に一番汎用性が高くかつシンプルな使い方はこんなところじゃないだろうか。



トラックバック(0)

このブログ記事を参照しているブログ一覧: jQuery Star Rating設置のチュートリアル(似非)

このブログ記事に対するトラックバックURL: http://hirop0164.s326.xrea.com/mt/mt-tb.cgi/247

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ぴろしが2009年1月28日 00:25に書いたブログ記事です。

ひとつ前のブログ記事は「Zend FrameworkでAjaxというかレスポンスのフォーマットを呼び分ける」です。

次のブログ記事は「jQuery Star Rating設置のチュートリアル(分割編)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。