0

追加は正しく、リストビューにデータが取り込まれます。私が欲しいのは、クリックされたときに入力されたすべてのリストビューのインデックスを取得することです。しかし、私のアラートメッセージでは常に0のインデックスです。すべてのリストビューのインデックスを取得するには? ありがとう

HTML コード

<ul id="RecipeList" data-role="listview" data-split-icon="star" data-split-theme="a" data-inset="true "href="#recpdetail">                 
</ul>

JS コード

for(var i=0; i<NameArr.length; i++){
    var $content = $('<li><a href="#recpdetail"><img src="../../img/album-bb.jpg"><h3>Name: '+ NameArr[i] + '</h3><p>Code: '+ CodeArr[i]+ '</p><p>Category: '+ CatArr[i]+ '</p></a><a href="#purchase" data-rel="popup" data-position-to="window" data-transition="pop">Add to favorites</a></li>');                              
    $('#RecipeList').append($content).listview('refresh');
}

インデックスのコード

$("#RecipeList").click(function(){
    var selected_index = $(this).find('li').index();
    alert('Selected Index = ' + selected_index);
});      
4

1 に答える 1

1

liここでの問題は、クリックされたのではなく、常に最初の要素のインデックスを取得していることですli

以下のようにクリックイベントを変更して、li内部の要素をターゲットにRecipeListします

$("#RecipeList").on('click', 'li', function(){
    var selected_index = $(this).index();
    alert('Selected Index = ' + selected_index);
});  
于 2013-04-26T07:01:39.400 に答える