2012-11-28 44 views
0

在我的小应用程序中,我有一个使用jQuery手机的嵌套列表。如果我点击列表中的某个项目,标题中的标题会更改并显示我点击的项目的标题。我怎样才能实现,标题停留在页面之前?jquery mobile:如何保持嵌套列表中标题的标题

例子:

 <div data-role="page" id="newspage" data-theme="a"> 

     <div data-role="header" data-position="fixed"> 
      <a href="#home" data-role="button" data-icon="home" data-iconpos="notext" data-mini="true" data-inline="true" data-transition="slide" data-direction="reverse">Home</a> 
      <h1>News</h1> 
     </div> 

     <div data-role="content" id="newsList"> 
      <ul data-role="listview"> 
       <li> 
        <h2>News 1</h2> 
        <p>This is a short version of news 1</p> 
        <ul> 
         <li> 
          <h2>News 1</h2> 
          <p>This is the text of news 1</p> 
         </li> 
        </ul> 
       </li> 
       <li> 
        <h2>News 2</h2> 
        <p>This is a short version of news 2</p> 
        <ul> 
         <li> 
          <h2>News 2</h2> 
          <p>This is the text of news 2</p> 
         </li> 
        </ul> 
       </li> 
      </ul> 
     </div> 
    </div> 

所以,如果我点击“新闻1”,在标题更改为“新闻1”,节目当然嵌套项目的标题。但是我想在嵌套项目的头部添加“新闻”,就像之前在头部div中定义的一样。我希望我明确我想要什么。 :-)任何想法如何做到这一点?

谢谢!

回答

1

This是您的解决方案。您将在HTML末尾找到您的解决方案。

代码示例:

$(':jqmData(url^=newspage)').live('pagebeforecreate',function (event) { 
     var title = $(':jqmData(url^=newspage)').find(':jqmData(role=header) h1').html(); 
     $(this).filter(':jqmData(url*=ui-page)').find(':jqmData(role=header)').html('<h1>' + title + '</h1>'); 
}); 

看这部分代码:

$(':jqmData(url^=newspage)'). 

newspage是您的列表视图容器页面的ID。

+0

真棒!非常感谢你! – bbasmer