2012-03-06 4 views
3

私の質問に悩まされています。だから私はjQueryモバイルでリストビューを持っており、それは動的に作成されました。リスト項目がクリックされたときに外部ページにリンクするのではなく、クリックした項目のテキストを取得できるようにしたいだけです。jQueryモバイルリストビュー:クリックしたときの値の変更

私の場合は名前のリストで、どの人がクリックしたのか知りたいのですが。項目をクリックすると

<div data-role="content" data-theme="b"> 

     <div id="friends_list_view" class="content-primary" data-theme="c"> 
      <ul data-role="listview" data-filter="true" data-theme="c"> 
      </ul> 
     </div> 
    </div> 

が、私は、彼らが選択した名前を使用して、いくつかの機能を実行したい:私はHTMLでリストを作成しました。どうやってやるの?

、その後、動的で、後でそれを更新:あなたのリストビューは次のようになりますと仮定すると

var listString = null; 
for(i in session_library){ 
     listString = '<li><a href="#">'+session_library[i]['name']+'</a></li>'; 
     $("#friends_list_view ul").append(listString); 

} 

$("#friends_list_view ul").listview('refresh'); 

答えて

8

<ul data-role="listview" data-filter="true" data-theme="c" id="my_listview"> 
     <li>Row A</li> 
     <li>Row B</li> 
</ul> 

あなたが戻ってあなたの<li>テキストを与えるクリックイベントハンドラを登録することができます、例えば

$('#my_listview').delegate('li', 'click', function() { 
    alert(this.innerText); 
});  
​ 

編集clickvclickを変更しました。 documentationを参照してください。

+0

簡単なピーシー。ありがとう! – JoshDG

+0

'vclick'には注意してください。いくつかのOS(Android 3.0以降)では、2回のクリックイベントが発生し、クリックイベントがクリックされた領域の周りをナビゲートまたは変更すると、2回目のクリックは実際には別の要素で発生する可能性があります。 'クリック 'は起動するまでに遅延がありますが、これは設計によるもので、ユーザーがタップ、タップ、またはスワイプしているかどうかをデバイスが判断できます。 – Jasper

+0

ああ、ありがとう。このドキュメントのhttp://jquerymobile.com/test/docs/api/events.htmlを参照してください。私は 'click'と' vclick'の警告をまだ見ていません。 – Ryan

関連する問題