2012-09-22 39 views
0

我想創建一個子列表視圖頁面從典型的籠一個獨立的動力子列表:jQuery和在不同的DIV

這就是我想要做的事:

STEP1 - 循環得到所有數據並創建列表視圖列表:

$(document).ready(function() { 

    var data = {"id":[{"id":1,"title":"title1","bodytext":"sometext 1"},{"id":2,"title":"title2","bodytext":"sometext 2"},{"id":3,"title":"title3","bodytext":"sometext 3"} 
        }] 

    var output = '' 

    $.each(data.id, function(index, value){ 

     output += '<li><a href="#mypage">'+value.title+'</a></li>'; 

     $('#mypage').text(value.title); //will this be different for each item? 

    }); 

    $('#mylistview').html(output).listview('refresh'); //Refresh the listview with new added data 

}); 

第2步:

ListView控件現在看起來是這樣的:

<ul id-"mylistview"> 
    <li><a href="populate_#mypage_with_data_from_item_1">title1</a></li> 
    <li><a href="populate_#mypage_with_data_from_item_2">title2</a></li> 
    <li><a href="populate_#mypage_with_data_from_item_3">title3</a></li> 
</ul> 

第3步:

我有一個預製的模板:

<div id="mypage"> 
Data from selected item goes here 
</div> 

So, if I click on list item 1 mypage will look like this: 

<div id="mypage"> 
Sometext 1 
</div> 

or if item 2 is clicked: 

<div id="mypage"> 
Sometext 2 
</div> 

我的問題是,無論我在ListView點擊哪個項目我總是從第1項

獲取數據

我怎樣才能製造商就那麼每個項目都有它自己的顯示數據?

回答

1
$(document).ready(function() { 
    var data = {"ids":[ 
     {"id":1,"title":"title1","bodytext":"sometext 1"}, 
     {"id":2,"title":"title2","bodytext":"sometext 2"}, 
     {"id":3,"title":"title3","bodytext":"sometext 3"}]}; 

    var output = '', 
     myPages = $('.mypage'), 
     container = $('#mylistview'); 

    $.each(data.ids, function(index, value){ 
     output += '<li><a href="#mypage">'+value.title+'</a></li>'; 
     myPages.eq(index).text(value.bodytext); 
    }); 

    container.html(output); 

    container.on('click', 'a', function(e){ 
     e.preventDefault(); 
     var links = container.find('a'); 
     alert(myPages.eq(links.index(this)).text()); 
    }); 
}); 

演示:http://jsfiddle.net/mDnE6/

+0

是的,ID是所有的但不應該這樣:$('#bodytext')。text(value.body);使bodytext獨一無二? – Satch3000

+0

@ Satch3000我很難理解來自提供的代碼片段的邏輯,但是'id'必須是唯一的,如果你不需要唯一的話,那就使用'class'。在你的例子中,你將在循環中替換'#bodytext'的文本,它沒有任何意義。 – webdeveloper

+0

由於Div #mysubpage是預先創建的,我只想更改其上的文本,因此我無法更改鏈接以說... Satch3000

0

那是因爲你只能有一個ID叫 「PAGETITLE」

+0

代碼修改。請再次檢查 – Satch3000

+0

,你能不能給我們你的代碼,而不是它的一部分。這是很不清楚你想要做什麼以及如何做。 – 3on

+0

好了,我重做我的問題。希望現在它更容易理解。在循環'你用'#bodytext'; – Satch3000

相關問題