2011-11-05 44 views
0

虽然我在php中有点笨手笨脚,但我正在通过iOS应用程序的Phonegap通过JQuery Mobile项目绊跌。所以让我的头脑快速转换(很快)一直是一个挑战。我主要在这里的好人帮助下解决了大多数问题,所以我想我会问这个我找不到解决方案的人。打开一个动态填充的jqm对话框

我有一个从ajax请求(具有标题和简短描述的摘要)生成的列表,其中全部细节存储在SQLite数据库中供离线使用。我想打开一个对话框,点击完整的详细信息。 JQM的data-rel对话框对静态页面来说是一件轻而易举的事情,但是我无法想象发送一个对话框页面的索引参数来从数据库中获取数据的方法。一旦我将参数下载到“页面”,我非常自信地拉动数据并替换DOM元素,所以简短的问题是如何将索引参数从列表发送到对话框页面?

感谢堆提前!

回答

0

你可以在你的列表(在这里,我假设data-role="listview"),构建表示点击元素的链接:

<ul data-role="listview"> 
    <li> 
     <a href="dialog.html?id=someId" data-rel="dialog">Show details</a> 
    </li> 
</ul> 

您插入someId动态当您创建列表。

在对话框页面中,您解析您的URL并获取ID。

更新

以下确认为野生动物园的工作(我的桌面上):

<a href="dialog.html?id=someId" data-rel="dialog">Show details</a> 

和用法是:

$.mobile.path.parseUrl($(this).data('url')).search 

,其中将包括以下字符串:

?id=someId 
+0

这就是我的想法,但在Safari中它不会发送参数。 url是composite.html#accolades&ui-state = dialog其中composite.html是整个页面,accolades是具有调用对话框的列表视图的页面。所以,没有参数可以得到。 Dialog出现了,因为它应该,但divs是空的。 – Craig

+0

很奇怪,对不起 - 虽然我明天就可以测试它。我会尽力回复你。 – ZenMaster

+0

感谢ZenMaster,非常感谢。 – Craig