2011-05-24 57 views
2

装载格在内容与使用jQuery移动

$('#next').click(function(){ 
     $('#boundary').load('options.html #pagecontent').page(); 


    }); 

加载时,我有一个问题,这个问题是居住在options.html载荷,但不能在预期的jQuery Mobile的元素#pagecontent股利。

如果您预览该页面,则在id = page内容中的options.html呈现效果良好。它只有当我加载尝试并将其加载到另一个ID =“boundary”的页面div时,所有的jquery移动渲染都失败了,而元素只是作为原始html元素加载。

在options.html中:一个标准的div,它包含一些UI元素。

<div id="pagecontent"> 
    // Jquery mobile button 
     <a href="results.php" data-transition="fade" id="result" data-role="button" data-theme="e" rel="external">View results</a> 
</div> 

感谢

+0

是的(你应该显示一些代码来获得更详细的答案) – naugtur 2011-05-25 12:41:15

+0

原始问题已编辑@naugtur。 – 2011-05-25 18:16:12

+0

options.html和#pagecontent之间的空格是否正确?不应该是options.html#pagecontent – 2011-05-25 18:39:32

回答

0

尝试添加。第()

$('#boundary').load('options.html#pagecontent').page(); 

可能附着在点击功能

$('#next').click(function(){ 
    $('#boundary').load('options.html#pagecontent'); 
}).page(); 
+0

它没有工作菲尔。我已经重新编辑了包含更多内容的问题。 – 2011-05-25 18:06:24

+0

你能告诉我什么page()吗? – 2011-05-25 18:08:17

+1

.page()将jQM控件重新加载/刷新到我的理解 – 2011-05-25 18:37:49

1

这只是一种猜测,但你为什么写如果jQuery Mobile在默认情况下在用户点击页面链接时会从html文件加载页面div,

如果不是用于加载需要在添加到页面之前需要分析和修改的数据,那么我建议不要编写自己的AJAX支持。

+0

我想过你说的这是一个非常有用的观点。这个想法是加载页面的某些部分,即使没有必要发送任何数据,但我认为这种方法有助于优化应用程序不同部分之间的转换。如果这有道理? – 2011-05-28 23:48:44

+0

是的,这是推荐的方法。你也应该用旧的方法做分页,例如。 'some.php?page = 3'或者[当使用不错的链接时]'some/3'不使用任何基于非URL的方式,比如将它存储在会话中(这个例子可能不是最好的,因为它通常不好分页那);)) – naugtur 2011-05-29 20:42:57

0

我有一个类似的问题,并找到一个解决方案,强制加载div的jquery移动渲染。我知道,这个答案就很晚了你,但也许这将帮助其他有类似的问题:

$('#next').click(function(){ 
    $('#boundary').load('options.html #pagecontent'); 
    $('#boundary').trigger("pagecreate").trigger("refresh"); 
}); 

这工作我使用jQuery移动1.1.0(我没有与老版本测试)