JsViewsチュートリアル - visibilityをリンクする
JavaScript製でjQuery非依存なテンプレートエンジンであるJsRender/JsViewsを使ったチュートリアルを書いてみようと思います。
以前に書いたエントリJsViews入門 - Do You PHP はてなも参照してください。
今回やること
JsViewsで変数の値と可視性(visibility)をリンクさせる
コード
<html> <body> <!-- レンダリング結果を表示するスペース --> <p>テキストボックスに入力すると表示されたデータが更新される</p> <div id="result"></div> <script src="https://code.jquery.com/jquery-1.11.1.min.js" type="text/javascript"></script> <script src="http://www.jsviews.com/download/jsviews.min.js" type="text/javascript"></script> <script type="text/javascript"> // visibilityをリンクさせる $(function() { // 表示するデータ var message = { greet: 'Hello !' }; // テンプレートに名前(ここでは"linkTemplate")をつけて登録する $.templates({ linkTemplate: "#template" }); // テンプレート"linkTemplate"と変数messageをリンク $.link.linkTemplate('#result', message); }); </script> <!-- テンプレート --> <script id="template" type="text/x-jsrender"> <div> <p><span class="red" data-link="visible{:greet == 'Hello'}">"Hello"以外を入力してください</span></p> <div><input type="text" data-link="greet trigger=true"/></div> </div></script> </body> </html>
説明
JsViewsではフォーム要素のvalue値だけではなく、可視性(visibility)とリンクさせることができます。
書式は次のようになります。
<[HTML要素名] ... data-link="visibile{:[変数もしくは式]}" />