SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

jQuery UI/プラグインの活用

星5つ! 評価を表示・入力できるスター表示プラグインRateIt

「jQuery プラグイン」の利用(27)

  • X ポスト
  • このエントリーをはてなブックマークに追加

利用者の操作を検出できるイベント

 RateItでは利用者の操作に対応した表4のようなイベントが定義されています。

表2 RateItで利用できるイベント
イベント名 内容 備考
rated 評価値を確定した時 -
reset 評価値をリセットした時 -
over マウスオーバー時 マウスオーバー時点の評価値を取得可能
beforerated 評価値を確定する直前 preventDefaultによりイベントを打ち消し可能
beforereset 評価値をリセットする直前 preventDefaultによりイベントを打ち消し可能

 RateItのイベント実装例をリスト4に示します。

リスト4 RateItのイベント実装例(004_RateIt_4.html)
// 評価値を確定した時
$("#rateit1").on("rated", function(){
    $("#msg1").text("event: rated");
});
// 評価値をリセットした時
$("#rateit1").on("reset", function(){
    $("#msg1").text("event: reset");
});
// マウスオーバー時
$("#rateit1").on("over", function(event, value){
    // valueにその時点の評価値が格納される
    $("#msg2").text("event: over, value= " + value);
});
// 評価値を確定する直前
$("#rateit1").on("beforerated", function(event, value){
    $("#msg3").text("event: beforerated, value= " + value);
    // confirmでキャンセルした時にはイベントをなかったことに
    if (!confirm("値を"+ value + "に変更します。よろしいですか?")) {
        event.preventDefault();
    }
});
// 評価値をリセットする直前
$("#rateit1").on("beforereset", function(event){
    $("#msg3").text("event: beforereset");
    // confirmでキャンセルした時にはイベントをなかったことに
    if (!confirm("値をリセットします。よろしいですか?")) {
        event.preventDefault();
    }
});

 リスト4を実行して評価値の確定・リセット、マウスオーバーを行うとイベントが発生してWebページにイベント内容が表示されます。また評価値を確定・リセットする直前には確認ダイアログ(confirm)が表示され、キャンセルを選択するとそのイベントをなかったことにできます。

図5 RateItのイベント操作例(004_RateIt_4.html)
図5 RateItのイベント操作例(004_RateIt_4.html)

RateItを操作するJavaScriptメソッド

 JavaScriptにおいてrateitメソッドの引数にオプション名を指定して、オプション値や現在の評価値を取得・設定することができます。またrateitメソッドの引数に"reset"を指定することで、評価値を初期状態に戻すことができます。メソッドの使用例をリスト5に示します。

リスト5 オプション値の取得・設定、リセット操作(005_RateIt_5.html)
$("#btn1").on("click", function(){
    // 現在の評価値を取得
    alert("Value= " + $("#rateit1").rateit("value"));
});
$("#btn2").on("click", function(){
    // 現在の評価値を設定
    $("#rateit1").rateit("value", 10);
});
$("#btn3").on("click", function(){
    // 最大値を取得
    alert("MaxValue= " + $("#rateit1").rateit("max"));
});
$("#btn4").on("click", function(){
    // 最大値を設定
    $("#rateit1").rateit("max", 10);
});
$("#btn5").on("click", function(){
    // リセット
    $("#rateit1").rateit("reset");
});

 リスト5を実行すると図6のように、ボタン押下でスター評価の内容を操作できるようになります。

図6 RateItから現在の評価値を取得する様子(005_RateIt_5.html)
図6 RateItから現在の評価値を取得する様子(005_RateIt_5.html)

次のページ
まとめ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
jQuery UI/プラグインの活用連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト  吉川 英一(ヨシカワ エイイチ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8390 2015/01/26 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング