jQuery Mobile动态注入页面 [英] jquery mobile Dynamically Injecting Pages

查看:108
本文介绍了jQuery Mobile动态注入页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用jQuery mobile,目前正在使用下面的代码动态构建菜单.现在,我下一步需要为菜单项创建实际的页面.我一直在研究jQuery Mobile和动态页面生成,并认为这是我可以"用来实现这一目标的东西.我已经阅读了动态页面生成"文档,但不了解如何将其适应当前代码,甚至不适合我需要实现的功能.

I'm using jQuery mobile and currently build a menu on the fly using the code below. I now need to create actual pages for menu items as my next step. I have been looking at jQuery Mobile and Dynamic Page Generation and think this is something I 'could' use to achieve this. I have read the Dynamic Page Generation docs and don't understand how I could fit this into my current code or even if its right for what I need to achieve.

当您为主页构建菜单输出时,我可以在下面看到我已经拥有ID和页面名称等信息,有人可以向我展示一个示例,说明我现在如何使用jquery为这些菜单项动态构建所需的html页面?谢谢你.

I you can see below I have the ID and page name etc already when I build my menu output for the home page, could someone show me an example of how I now dynamically build the html pages needed using jquery for these menu items? Thank you.

$.each(siteData["pages"], function(i,v) {
             $.mobile.activePage.find('[data-role=content]').append('' +
                     '<a href='+ v["id"] + ' data-role="button">' + v["name"] + '</a>').trigger('create');

            // NOW I HAVE THE MENU LETS CREATE THE ACTUAL PAGES INSIDE HERE TOO
         });

在导航列表中创建的当前标记菜单项:

Current markup menu items created inside navlist:

<div data-role="page" id="index">
    <div data-theme="a" data-role="header">
    </div>

    <div data-role="content" class="navlist">
    </div>

    <div data-role="footer">
    </div><!-- /footer -->
</div>

所以现在对于每个项目,我都需要使用jquery为每个项目生成标记.

So now for each item I need the to generate the markup for each item using jquery.

更新:因此,根据建议,我尝试了类似的方法,但是它不起作用.

UPDATE: so based on suggestion I tried something like this, but it does not work.

 $.each(siteData["pages"], function(i,v) {
     $.mobile.activePage.find('[data-role=content]').append('' +
             '<a href='+ v["id"] + ' data-role="button">' + v["name"] + '</a>').trigger('create');



     // Prepare your page structure
     var newPage = $("<div data-role='page' id=v[id]><div data-role=header>" +
             "<a data-iconpos='left' data-icon='back' href='#' data-role='button' " +
             "data-rel='back'>Back</a><h1>Dynamic Page</h1></div><div data-role=content>Stuff here</div></div>");

    // Append the new page info pageContainer
                 newPage.appendTo($.mobile.pageContainer);

    // Move to this page by ID '#page'
                 $.mobile.changePage('#'+v["id"]);


 });

推荐答案

这里是一种动态创建新页面的简单方法.

Here is a simple way of creating new pages dynamically.

工作示例

// Prepare your page structure
var newPage = $("<div data-role='page' id='page'><div data-role=header><a data-iconpos='left' data-icon='back' href='#' data-role='button' data-rel='back'>Back</a><h1>Dynamic Page</h1></div><div data-role=content>Stuff here</div></div>");

// Append the new page into pageContainer
newPage.appendTo($.mobile.pageContainer);

// Move to this page by ID '#page'
$.mobile.changePage('#page');

这篇关于jQuery Mobile动态注入页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆