使用jquery mobile在页面之间传递参数

2024-04-23

jquery mobile 中页面之间传递参数的正确方法是什么?在jquery mobile的Q&A中,有一些插件的建议。是强制性的吗?请告诉我正确的方法。没有一个具体的答案。我必须为页面中的所有链接传递参数。

http://view.jquerymobile.com/master/demos/faq/pass-query-params-to-page.php http://view.jquerymobile.com/master/demos/faq/pass-query-params-to-page.php


页面转换之间的数据/参数操作

在页面转换期间可以将参数从一个页面发送到另一页面。这可以通过几种方式来完成。

参考:https://stackoverflow.com/a/13932240/1848600 https://stackoverflow.com/a/13932240/1848600

解决方案一:

您可以使用changePage传递值:

$.mobile.changePage('page2.html', { dataUrl : "page2.html?paremeter=123", data : { 'paremeter' : '123' }, reloadPage : true, changeHash : true });

并像这样阅读它们:

$(document).on('pagebeforeshow', "#index", function (event, data) {
    var parameters = $(this).data("url").split("?")[1];;
    parameter = parameters.replace("parameter=","");  
    alert(parameter);
});

[示例][3]:

索引.html

<!DOCTYPE html>
  <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="widdiv=device-widdiv, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <title>
    </title>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="http://www.dragan-gaic.info/js/jquery-1.8.2.min.js">
    </script>
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>  
    <script>
        $(document).on('pagebeforeshow', "#index",function () {
            $(document).on('click', "#changePage",function () {     
                $.mobile.changePage('second.html', { dataUrl : "second.html?paremeter=123", data : { 'paremeter' : '123' }, reloadPage : false, changeHash : true });
            }); 
        }); 

        $(document).on('pagebeforeshow', "#second",function () {
            var parameters = $(this).data("url").split("?")[1];;
            parameter = parameters.replace("parameter=","");  
            alert(parameter);
        });         
    </script>
   </head>
   <body>
    <!-- Home -->
    <div data-role="page" id="index">
        <div data-role="header">
            <h3>
                First Page
            </h3>
        </div>
        <div data-role="content">
          <a data-role="button" id="changePage">Test</a>
        </div> <!--content-->
    </div><!--page-->

  </body>
</html>

第二个.html

<!DOCTYPE html>
  <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="widdiv=device-widdiv, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <title>
    </title>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="http://www.dragan-gaic.info/js/jquery-1.8.2.min.js">
    </script>
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>  
   </head>
   <body>
    <!-- Home -->
    <div data-role="page" id="second">
        <div data-role="header">
            <h3>
                Second Page
            </h3>
        </div>
        <div data-role="content">

        </div> <!--content-->
    </div><!--page-->

  </body>
</html>

解决方案2:

或者您可以创建一个持久的 javascript 对象用于存储目的。只要使用 ajax 进行页面加载(并且页面不会以任何方式重新加载),该对象就会保持活动状态。

var storeObject = {
    firstname : '',
    lastname : ''
}

例子:http://jsfiddle.net/Gajotres/9KKbx/ http://jsfiddle.net/Gajotres/9KKbx/

解决方案3:

您还可以像这样访问上一页的数据:

$('#index').live('pagebeforeshow', function (e, data) {
    alert(data.prevPage.attr('id'));
});   

prevPage对象保存完整的前一页。

解决方案4:

作为最后一个解决方案,我们有一个漂亮的 localStorage HTML 实现。它仅适用于 HTML5 浏览器(包括 Android 和 iOS 浏览器),但所有存储的数据通过页面刷新都是持久的。

if(typeof(Storage)!=="undefined") {
    localStorage.firstname="Dragan";
    localStorage.lastname="Gaic";            
}

例子:http://jsfiddle.net/Gajotres/J9NTr/ http://jsfiddle.net/Gajotres/J9NTr/

更多信息

如果您想了解有关此主题的更多信息,请查看此article http://www.gajotres.net/passing-data-between-jquery-mobile-pages/。您将找到多种带有示例的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用jquery mobile在页面之间传递参数 的相关文章

  • 使用 JQuery 定义要附加的 HTML 模板

    我有一个正在循环的数组 每次条件成立时 我想附加一份副本HTML下面的代码到具有一些值的容器元素 我可以在哪里放置此 HTML 以以智能方式重复使用 a href class list group item div class image
  • 使用 parsley.js 支持每个字段多个自定义错误消息

    我正在尝试使用 parsley js 验证一个简单的表单 并且我对 parsley js 非常初学者 我想使用 window ParsleyValidator addValidator 方法在一个自定义验证方法中显示多个错误消息 所以我尝试
  • 未捕获的类型错误:无法读取未定义的属性“toLowerCase”

    我收到此错误 它源自 jquery 框架 当我尝试加载准备好的文档上的选择列表时 出现此错误 我似乎无法找到为什么会出现此错误 它适用于更改事件 但在尝试手动执行该函数时出现错误 未捕获的类型错误 无法读取未定义的属性 toLowerCas
  • 如何在 jquery 中使 ajax 数据键动态化?

    我试图使内联编辑成为动态的 因此它只依赖于我的标记中的一些数据属性 所以现在的代码如下 inline edit editable function value settings var editableField this ajax typ
  • Jquery 拖放和克隆

    嗨 我需要实现这个 我有一套可掉落的物品 基本上我是在服装上掉落设计 并且我正在掉落一个克隆 如果我不喜欢删除的对象 设计 我想通过执行隐藏之类的操作来删除它 但我无法做到这一点 请帮我 这是代码 var clone document re
  • 使用JQuery检查元素是否有边框?

    所以我正在玩 el css 尝试确定元素是否有边框 我用 css border style solid 设置边框 这是可行的 但实际上它设置了 4 种单独的样式 border right style border left style bo
  • javascript中输入类型时间的值

    我有这个html
  • Ajax JSON 数据和灯箱冲突

    我有一个带有灯箱插件的画廊设置光廊 http sachinchoolur github io lightGallery docs 该画廊与静态 HTML 完美配合 当我动态抓取 API 数据并尝试让灯箱处理这些项目时 问题就出现了 我似乎无
  • 有没有好的 JQuery twitter 小部件可以循环推文?

    我想知道是否有任何 JQuery 小部件提供了循环加载推文的功能 例如在官方小部件中http twitter com about resources widgets widget profile http twitter com about
  • 将 jQuery 版本从 1.7.1 升级到 1.11.2

    在我当前的应用程序中 我使用的是 jQuery 版本 1 7 1 现在 我计划将jQuery版本升级到1 11 2 是否有任何补丁可以提供与现有应用程序的向后可比性 Thanks 尝试这个 http blog jquery com 2013
  • 此错误消息“insertId: Error: INVALID_ACCESS_ERR: DOM Exception 15”的含义是什么?

    我正在使用 jquery mobile phonegap 和 openDatabase 开发一个应用程序 当应用程序执行时 我可以在 Safari 浏览器的控制台中看到SQL结果集与此消息 insertId Error INVALID AC
  • defaultDate 选项与 setDate 方法之间的差异

    我正在尝试使用jQueryUI DatePicker 我必须了解的主要事情之一是在页面加载时设置日期的方式 经过一些研究后 我发现有两种不同的方法可以做到这一点 using defaultDate option using setDate
  • 如何发送正确的授权标头以进行基本身份验证

    我正在尝试从 API 发布数据 但无法通过基本身份验证 I try ajax type POST url http theappurl com api v1 method data crossDomain true beforeSend f
  • 过滤自定义选择器是否大于 jQuery 中的数字[重复]

    这个问题在这里已经有答案了 快给你一份 我查看了 jQuery com 中的选择器 但找不到按大于数字的选择器进行过滤的方法 我想做这个 level gt 4 hide 我的 html 看起来像这样 div Test div 如何使用该语法
  • 防止垃圾邮件按钮呼叫功能

    如何防止调用函数时出现垃圾邮件按钮 就像用户只能在按钮上每 1 秒调用一次该函数 有办法做到吗 因为我尝试了 setTimeout 但没有成功 它仍然在发送垃圾邮件 顺便说一句 我使用 Jquery 这是我的代码
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • 更改 JQM 面板的宽度

    我想弄清楚如何更改 JQM 面板动画的宽度 我可以更改面板中内容的宽度 但动画仍然以预定义的宽度打开 我不知道如何更改 这是我尝试过的内容并更改了内容 ui panel width 150px 我浏览了 JAM 文档但没有找到解决方案 希望
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • 禁用/启用 MFC 功能包的功能区按钮

    我正在使用 MFC 功能包 并且功能区栏上有一些按钮 即 CMFCRibbonButton 的实例 问题是我想在某些条件下启用和禁用其中一些 但在运行时 我怎样才能做到这一点 因为没有具体的方法 我听说解决方案是在运行时附加 分离事件处理程
  • 我可以让 GCC 在将太宽的类型传递给函数时发出警告吗?

    以下是一些明显有缺陷的代码 我认为编译器应该发出诊断信息 但两者都没有gcc nor g 确实如此 即使有我能想到的所有警告选项 pedantic Wall Wextra include
  • 从 C# 代码启动 Storyboard

    我试图从 C 调用在 xaml 代码中声明的故事板
  • 如何在 Entity Framework 4.1 的 Code-First Fluent API 中以编程方式定义关系

    我正在玩新的 EF4 1 unicorn love 我试图了解我可以使用的不同方式代码优先 to 以编程方式定义几个简单 POCO 之间的关系 我如何定义以下 gt 1 Team有0 多Users 和一个User是在 1Team 1 Use
  • djangorest框架模型序列化器 - 嵌套读取,扁平写入

    我遇到一种情况 我的客户正在尝试编写包含 fk 列表的表示 languages 1 last name Beecher settings 1 state NY 但是当读它时 我想要一个嵌套表示来减少往返次数 languages id 1 c
  • 在 Atom 中使用变量创建片段

    是否可以将变量合并到 Atom 中的片段中 例如 当您想要预先填充即将出现的点时 这对于 for 循环非常有用 The snippets cson我想以java作为源的条目 不幸的是它不起作用 source java For Loop pr
  • MobX 自动运行行为

    我正在探索 MobX 并对一个问题感兴趣 如果我有这个可观察的 class ItemsStore observable items 1 2 3 const store new ItemsStore 然后像这样改变它 setInterval
  • Django Admin:为两个管理站点使用不同的模板

    我有一个 Django 项目 有两个不同的管理站点 如中所述文档 http docs djangoproject com en 1 2 ref contrib admin multiple admin sites in the same u
  • 完美平衡二叉搜索树

    我有一个理论问题Balanced BST 我想建立Perfect Balanced Tree具有2 k 1节点 从常规unbalanced BST 我能想到的最简单的解决方案是使用排序Array Linked list并递归地将数组划分为子
  • R 合并具有相似值的行

    我有一个数据框 行值首先从小到大排序 我计算相邻行之间的行值差异 组合具有相似差异 例如 小于 1 的行 并返回组合行的平均值 我可以使用 for 循环检查每一行的差异 但这似乎是一种非常低效的方法 还有更好的想法吗 谢谢 library
  • Rails 对 :dependent => :destroy 和级联删除/无效/限制做什么

    我正在尝试决定如何最好地为我的 Rails 应用程序设置 如果有的话 外键约束 我有一个模型Response that belongs to a Prompt 我想用 dependent gt destroy摧毁每一个Response属于已
  • 如何在 Java 的 JTextPane 中创建自动完成弹出窗口?

    我正在创建一个 SQL 编辑器 我使用 JTextPane 作为编辑器 我想像 Eclipse 一样实现表名等的自动完成 我认为在另一个组件之上显示信息的适当类是JPopupMenu 它已经正确处理分层以显示自身 JPopupMenu 有一
  • Android 中的自定义键盘视图

    我正在开发一个自定义 Android 键盘 我开始开发我的键盘 基于this http code tutsplus com tutorials create a custom keyboard on android cms 22615教程
  • 对heroku postgresql DB的访问只能仅限于它的heroku应用程序吗?

    由于安全顾问的建议 我最近将一个应用程序从 heroku 迁移到 amazon ec2 然而 他对 Heroku 的了解并不深 疑问仍然存在 对 Heroku PostgreSQL 数据库的访问是否可以限制为只能由应用程序访问 您会推荐 H
  • 在 Windows Server 2003 中将控制台应用程序安装为 Windows 服务

    这可能是一个基本问题 所以提前道歉 我有一个控制台应用程序 我想在 Windows Server 2003 上测试它 我使用 4 0 框架在 C 中以发布模式构建了该应用程序 并将 bin 文件夹的内容粘贴到 windows server
  • 在 Objective-C 中以编程方式创建 .pem 文件?

    我正在尝试使用 iPhone 应用程序中的 Objective C 和 OpenSSL 库以编程方式从证书签名请求创建 PEM 文件 我按照 Adria Navarro 对这个问题的回答生成了 CSR 类型为 X509 REQ 使用钥匙串存
  • 从 Java / C# 角度理解 C++ 编译器

    我是一名经验丰富的 Java C 程序员 最近开始学习 C 问题是 我无法理解如何构建各种头文件和代码文件 这似乎主要是由于我对编译器如何将所有内容链接在一起缺乏了解 我尝试阅读一些教科书 但我的先入之见受到我的 Java 和 C 知识的影
  • 使用 AVPlayer 播放流媒体视频

    如何播放流媒体视频AVPlayer import Cocoa import AVKit class StreamViewController NSViewController var videoPlayer AVPlayer IBOutle
  • maven中这两个设置一样吗?

    我想限制maven仅使用私有 非公共maven存储库 这两个设置具有相同的效果吗 1 settings xml中设置镜像
  • 使用jquery mobile在页面之间传递参数

    jquery mobile 中页面之间传递参数的正确方法是什么 在jquery mobile的Q A中 有一些插件的建议 是强制性的吗 请告诉我正确的方法 没有一个具体的答案 我必须为页面中的所有链接传递参数 http view jquer