0

こんにちは。私はフォームを持っています。その一部は、jquery モバイルのリストビュー オートコンプリート/ローカル データを使用したデータ フィルターを使用した検索ボックスです。

ユーザーがいくつかの文字を入力した後、オートコンプリートから提案された結果の 1 つを選択できます。このような場合、選択した結果を検索ボックスに入力したいと思います。

問題は、jquery-mobile が入力要素を作成するため、要素へのハンドルを取得する方法がわからないことです。

場合によってはデフォルト値が必要であり、リストビュー項目をリンクとして使用していない (フォームの一部である) ため、要素へのハンドルが必要です。

私が見つけた例は、リストビュー フィルターを設定する方法を示しているだけのように見えますが、結果が表示されたら実際には何もしません。

私のリストビュー: http://jsfiddle.net/EXHNp/

<div data-role="fieldcontain">
<ul class="emp_listview" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Emp Code..." data-role="listview" data-inset="true">
    <li><a>fred</a></li>
     <li><a>mary</a></li>
     <li><a>bob</a></li>
     <li><a>alex</a></li>
</ul>

ありがとう、ニック

4

2 に答える 2

1

get/set 機能を追加するために mobile.listview ウィジェットを拡張することになりました

基本的に私がしたこと:

$.mobile.listview.prototype.searchElement;

$.mobile.listview.prototype.getInput = function(){
    return $(searchElement).find('input').val();    
};

$.mobile.listview.prototype.setInput = function(a_input){  
    return $(searchElement).find('input').val(a_input);
};

そして、委任された listviewcreate 関数をオーバーライドして、作成された入力ラッパーをオブジェクトに保存しました。

$.mobile.document.delegate( "ul, ol", "listviewcreate", function() {
...
searchElement = wrapper;

おそらく非常に間違った方法ですが、うまくいくようです。批評歓迎。

于 2013-04-23T05:24:02.973 に答える