<div data-win-control="WinJS.UI.Rating"></div>これで表示されるのは★が5つ並んだ状態のものです。表示に関する設定などを行うには、data-win-options属性を用意してやります。この属性は、既に何度も登場していますが、オプション設定を連想配列の形でまとめたものを値に指定します。主なオプションとしては以下のようなものがあります。
var ctrl = event.target.winControlevent.targetでイベントの発生したDOMオブジェクトを取得し、そのwinControlを変数に取り出しています。後は、テキストを表示するタグをgetElementByIdで取得し、winControlのuserRatingの値を使ってtextContentを設定するだけです。
var msg = document.getElementById("msg");
msg.textContent = "Rate: " + ctrl.userRating;
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※HTMLの<body>タグ <body> <h1 id="title">Sample Page</h1> <p id="msg">this is list sample page.</p> <div data-win-control="WinJS.UI.Rating" id="rating1" data-win-options="{maxRating:7, averageRating:3.5}"></div> </body> ※JavaScriptのスクリプト (function () { "use strict"; WinJS.Binding.optimizeBindingReferences = true; var app = WinJS.Application; var activation = Windows.ApplicationModel.Activation; app.onactivated = function (args) { if (args.detail.kind === activation.ActivationKind.launch) { if (args.detail.previousExecutionState !== activation. ApplicationExecutionState.terminated) {} else {} args.setPromise(WinJS.UI.processAll().then(function completed() { document.getElementById("rating1").addEventListener("change", rating1Change); })); } } app.oncheckpoint = function (args) {} // ※追加した関数 function rating1Change(event) { var ctrl = event.target.winControl var msg = document.getElementById("msg"); msg.textContent = "Rate: " + ctrl.userRating; } app.start(); })();
<< 前へ | 次へ >> |