0

在我的小应用程序中,我有一个使用 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 中定义的那样。我希望我清楚我想要什么。:-) 知道怎么做吗?

谢谢!

4

1 回答 1

1

是你的解决方案。您将在 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 是您的 listview 容器页面的 id。

于 2012-11-28T10:45:46.680 回答