これは、jQuery Mobile のデモ ページに示されているオートコンプリートの例です。
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
<script>
</script>
</head>
<body>
<div data-role="page" style="max-height:240px; min-height:240px;">
<div data-role="content" >
<ul data-role="listview" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Search fruits..." data-inset="true">
<li><a href="#">Apple</a></li>
<li><a href="#">Banana</a></li>
<li><a href="#">Cherry</a></li>
<li><a href="#">Cranberry</a></li>
<li><a href="#">Grape</a></li>
<li><a href="#">Orange</a></li>
</ul>
</div>
</div>
</body>
</html>
これは完全にうまく機能します。新しいリスト項目を追加すると、その項目は非表示ではなく表示されます。したがって、テキスト入力ボックスと、1 つの項目 (追加した新しい項目) を含むリストビューがあります。
これが私が追加したコードです
$(document).ready(function(){
$('ul').append('<li><a href="index.html">Sample</a></li>');
$('ul').listview('refresh');
});
検索を実行してテキスト入力フィールドをクリアすると、新しく追加されたアイテムが非表示になります。動的に追加されたデータがユーザーに表示されないようにする方法。(私の場合は約50エントリ)