お店一覧リスト作成
jqeury mobile では
リストをつくるときに
ul要素に
data-role=”listview”
をつけます
リストそのものは li で作成します
今回はクリックしたらお店情報ページにリンクしたいので
a 要素でクリックしたときにリンクするようにします
まずはリストを作成します
ちなみに Atom エディタで emmet パッケージをいれたり
vim で emmet を入れている場合
ul[data-role=listview]>(li>a[href=shop.html]{お店情報})*5
で簡単にソースを書けます
Atom なら tab キーを押すとソースが作成されます
これで
<ul data-role="listview">
<li><a href="shop.html">お店情報</a></li>
<li><a href="shop.html">お店情報</a></li>
<li><a href="shop.html">お店情報</a></li>
<li><a href="shop.html">お店情報</a></li>
<li><a href="shop.html">お店情報</a></li>
</ul>
ができます
前回、すでに戻るボタンが作成してあるので
クリックすると戻るボタンがでているのがわかります
次に、検索ボックスを配置します
このときに listview と組み合わせるために
idを検索ボックスにつけます
また、form には
class=”ui-filterable”
をつけます
ソースにすると
<form action="" class="ui-filterable"> <input type="text" id="keywd" data-type="search"> </form>
というようになります
emmet で書くと、以下のコードを書いて tabで展開します
form.ui-filterable>input#keywd[data-type=search]
なお、リストを検索可能にするには
<ul data-role="listview">
の部分にソースを加えます
data-fileter=”true”で検索機能を有効化
data-input=”#keywd”
というように、
input で id=”” で指定した id を#をつけて書きます
ちなみに、よく見かける薄い文章は
placeholder=””
で設定することでできます
また、そのままだと実験できないので、リストの中身も変えてみます
<form action="" class="ui-filterable">
<input type="text" id="keywd" data-type="search" placeholder="お店の名前を入力">
</form>
<ul data-role="listview" data-filter="true" data-input="#keywd">
<li><a href="shop.html">お茶</a></li>
<li><a href="shop.html">ケーキ</a></li>
<li><a href="shop.html">和菓子</a></li>
<li><a href="shop.html">ゼリー</a></li>
<li><a href="shop.html">アイス</a></li>
</ul>
これでリストと検索機能ができました
今回のソースは
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>jQuery Mobile</title>
<link rel="stylesheet"
href="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.js">
</script>
</head>
<body>
<div data-role="page" data-title="jQuery Mobile">
<div data-role="header" data-add-back-btn="thue" data-back-btn-text="戻る">
<h1>jQuery Mobile</h1>
</div>
<div role="main" class="ui-content">
<form action="" class="ui-filterable">
<input type="text" id="keywd" data-type="search" placeholder="お店の名前を入力">
</form>
<ul data-role="listview" data-filter="true" data-input="#keywd">
<li><a href="shop.html">お茶</a></li>
<li><a href="shop.html">ケーキ</a></li>
<li><a href="shop.html">和菓子</a></li>
<li><a href="shop.html">ゼリー</a></li>
<li><a href="shop.html">アイス</a></li>
</ul>
</div>
<div data-role="footer">
フッター
</div>
</div>
</body>
</html>
となります



