使用jQuery Mobile刷新表单页面

时间:2011-10-20 17:26:41

标签: javascript jquery jquery-mobile

在我的移动网站中,我使用javascript动态创建表单,因此我需要“重新加载”页面以获得jQuery Mobile样式。 对于列表视图,我们可以简单地调用$(“#mylistview”)。listview(“refresh”)但是表单没有这样的功能。

我知道我们可以在表单的每个元素中调用“刷新”一个,但是通过这样做,样式没有正确应用。实际上,我的所有复选框都是分开的,它们不会出现在一个“插入”

我有解决方法吗?

1 个答案:

答案 0 :(得分:4)

发行说明中的​​文档:

示例:

$('#nameOfPage').trigger('create');

引用:

  

新的“创建”事件:一次轻松增强所有小部件

     

虽然页面插件不再专门调用每个插件,但它   会发送一个“pagecreate”事件,大多数小部件都会使用它   自动初始化自己。只要一个小部件插件脚本   引用后,它将自动增强小部件的任何实例   它在页面上找到,就像之前一样。例如,如果选择菜单   插件被加载,它将增强它在新内容中找到的任何选择   创建页面。

     

现在,这个结构允许我们添加一个新的创建事件   触发任何元素,为您节省手动初始化的任务   该元素中包含的每个插件。到现在为止,如果是开发人员   通过Ajax或动态生成的标记加载到内容中   需要手动初始化所​​有包含的插件(listview按钮,   选择等)以增强标记中的小部件。

     

现在,我们方便的创建事件将初始化所有必要的插件   在该标记内,就像页面创建增强一样   过程有效。如果您要使用Ajax加载HTML块   标记(例如登录表单),您可以自动触发创建   转换它包含的所有小部件(输入和按钮)   case)进入增强版本。此方案的代码为:

$( ...new markup that contains widgets... ).appendTo( ".ui-page"
 ).trigger( "create" );
  

创建与刷新:重要区别

     

请注意,create事件之间存在重要差异   和一些小部件有的刷新方法。 create事件适合   用于增强包含一个或多个小部件的原始标记。该   某些小部件具有的刷新方法应该在现有的方法上使用   (已经增强的)以编程方式操作的小部件   并且需要更新UI才能匹配。

     

例如,如果您有一个动态添加新页面的页面   页面创建后带有data-role = listview属性的无序列表,   在该列表的父元素上触发create会对其进行转换   进入listview风格的小部件。如果有更多的列表项   以编程方式添加,调用listview的refresh方法   将这些新列表项更新为增强状态并离开   现有的清单项目未受影响。