文本不被渲染后,新的页面加载- JQuery移动

Text is not being rendered after new pages loaded - JQuery Mobile

本文关键字:加载 移动 JQuery 文本      更新时间:2023-09-26

我有一个程序,给定一个SQL语句(使用HTML5-SQL的浏览器数据库),它在我的jquery移动页面中填充一组字段。SQL语句根据通过url传递的ID进行更改。因此,当单击按钮/链接时,将使用不同的参数值调用相同的页面:index.html?id=545.

虽然第一页加载无缝,当我点击链接到下一页,对象(页,按钮,链接,div)显示,但这些对象内的文本不显示。

我使用$('div').live('pageshow',function(event, ui){事件来触发执行以下操作的事件:

$("#title").text(Title);
$("#date").text(mdate);

当我在Chrome调试器的控制台中打印Title和mdate的值时,它显示正确的值。我不知道为什么相同的文本不显示在按钮和标签。

有谁能帮我一下吗?

谢谢

使用jQM时需要刷新控件。以下是文档:

  • http://jquerymobile.com/demos/1.0/docs/forms/docs-forms.html

刷新表单元素
在jQuery Mobile中,一些增强的表单控件只是简单的样式化(输入),但其他的是自定义的控件构建并与控件保持同步的控件(选择、滑块)本地控制。以编程方式更新表单控件JavaScript,首先操作本机控件,然后使用刷新方法来告诉增强控件更新自身以匹配新的状态。下面是一些如何更新常见表单控件的示例,然后调用refresh方法:

复选框:

$("input[type='checkbox']").prop("checked",true).checkboxradio("refresh");

收音机:

$("input[type='radio']").prop("checked",true).checkboxradio("refresh");

选择:

var myselect = $("#selectfoo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");

滑块:

$("input[type='range']").val(60).slider("refresh");

翻转开关(他们使用滑块):

var myswitch = $("#selectbar");
myswitch[0].selectedIndex = 1;
myswitch.slider("refresh");

如果是你需要的那一页,试试这个:

  • http://jquerymobile.com/demos/1.0/docs/pages/page-scripting.html

增强新标记
page插件调度pagcreate事件,大多数小部件使用该事件来自动初始化自己。只要当一个小部件插件脚本被引用时,它将自动增强在页面上找到的小部件的任何实例。

但是,如果您在客户端生成新的标记或通过Ajax并将其注入到页面中,就可以触发创建事件来处理其中包含的所有插件的自动初始化新的标记。这可以在任何元素(甚至是页面)上触发Div本身),从而节省了手动初始化每个插件的任务(列表视图按钮,选择等)。

例如,如果加载了一个HTML标记块(比如一个登录表单)通过Ajax,触发create事件进行自动转换控件中包含的所有小部件(在本例中为输入和按钮)增强版本。这个场景的代码是:

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