Javascript 在Jquery Mobile中如何在两个页面之间传递和获取参数?

Javascript 在Jquery Mobile中如何在两个页面之间传递和获取参数?,javascript,jquery,parameters,jquery-mobile,Javascript,Jquery,Parameters,Jquery Mobile,我正在开发一个演示应用程序,以便在Jquery Mobile中学习一些东西。我尝试了很多选择,但在一些事情上无法找到解决方案:- 在这种情况下,当我在索引页面中添加参数和Url时,它不是指向搜索页面 如果我没有将参数添加到索引页面,那么如何将参数从索引页面传递到搜索页面 另外,我需要如何在搜索页面中检索参数的帮助 这有用吗 JS HTML 主页 第2页 这有帮助吗 JS HTML 主页 第2页 我想出了这个简单的方法 首先在第1页的

我正在开发一个演示应用程序,以便在Jquery Mobile中学习一些东西。我尝试了很多选择,但在一些事情上无法找到解决方案:-

  • 在这种情况下,当我在索引页面中添加参数Url时,它不是指向搜索页面
  • 如果我没有将参数添加到索引页面,那么如何将参数索引页面传递到搜索页面
  • 另外,我需要如何在搜索页面中检索参数的帮助
  • 这有用吗

    JS

    HTML

    
    
    • 主页
    • 第2页
    这有帮助吗

    JS

    HTML

    
    
    • 主页
    • 第2页

    我想出了这个简单的方法

    首先在第1页的元素中添加自定义HTML5属性,以保存要传递的数据。我的属性名为
    data parm

    <div data-role="page" id="one">
        <div data-role="content">
            <ul data-role="listview" data-theme="c">
            <li><a data-parm="john" href="#two">one</a></li>
            <li><a data-parm="mary" href="#two">two</a></li>
            <li><a data-parm="sue" href="#two">three</a></li>
            </ul>
        </div>
    </div>   
    
    <div data-role="page" id="two">
        <div data-role="content">
            <div id="showParmHere"></div>
        </div>
    </div>
    

    我想出了这个简单的方法

    首先在第1页的元素中添加自定义HTML5属性,以保存要传递的数据。我的属性名为
    data parm

    <div data-role="page" id="one">
        <div data-role="content">
            <ul data-role="listview" data-theme="c">
            <li><a data-parm="john" href="#two">one</a></li>
            <li><a data-parm="mary" href="#two">two</a></li>
            <li><a data-parm="sue" href="#two">three</a></li>
            </ul>
        </div>
    </div>   
    
    <div data-role="page" id="two">
        <div data-role="content">
            <div id="showParmHere"></div>
        </div>
    </div>
    

    我偶然发现这个问题是因为同样的问题,但我想我找到了一个更简单的方法。至少如果您使用“pagebeforechange”事件。到目前为止,我就是在这里尝试解决这个问题的

    您可以通过以下对象路径从pageonchange事件函数的第二个参数获取搜索字符串:“.options.link.context.search”。我希望示例代码足以解释它

    $(document).live("pagebeforechange", function(e, secondparameter) {
      alert(secondparameter.options.link.context.search);
    });
    

    我偶然发现这个问题是因为同样的问题,但我想我找到了一个更简单的方法。至少如果您使用“pagebeforechange”事件。到目前为止,我就是在这里尝试解决这个问题的

    您可以通过以下对象路径从pageonchange事件函数的第二个参数获取搜索字符串:“.options.link.context.search”。我希望示例代码足以解释它

    $(document).live("pagebeforechange", function(e, secondparameter) {
      alert(secondparameter.options.link.context.search);
    });
    

    我为jQM 1.4+创建了一个解决方案,它允许通过URL传递参数。如果您希望用户能够直接进入带有参数的页面(例如,通过电子邮件),或者如果用户刷新页面,那么这种方法非常有效


    它在MIT许可证下,您可以找到它。

    我为jQM 1.4+创建了一个解决方案,允许通过URL传递参数。如果您希望用户能够直接进入带有参数的页面(例如,通过电子邮件),或者如果用户刷新页面,那么这种方法非常有效


    它在麻省理工学院许可证下,您可以找到它。

    要在jQuery mobile中通过url传递valor,您可以使用rel=“external”

    例如:

    <a id="l" href="index.html?id='1234'#dateA" rel="external">
    

    要在jQuery mobile中通过url传递valor,您可以使用rel=“external”

    例如:

    <a id="l" href="index.html?id='1234'#dateA" rel="external">
    

    很好地解释了谢谢,但为什么这不起作用??很好地解释了谢谢,但为什么这不起作用??JQUERY的基本用法非常简单。很好@Joel:use
    var parm=$('this')。data('parm')而不是
    .attr
    。这种方法不受循环引用的影响,因此也不受内存的影响leaks@Tom:非常感谢你的小费。令人困惑的是,在这方面似乎存在分歧。例如,这篇文章的说法正好相反。哪一个是正确的?@JoelErenberg:当属性直接从DOM中读取时,他们讨论的情况是一个问题。对于这种罕见的情况,您必须使用
    .attr()
    ,但一般情况下,绝对不要使用它来代替
    .data()
    ,因为
    .data()
    不会写入DOM,这样会快得多。及safe@JoelErenberg:这是Stack Overflow上的一个问题:JQUERY的简单和基本用法。很好@Joel:use
    var parm=$('this')。data('parm')而不是
    .attr
    。这种方法不受循环引用的影响,因此也不受内存的影响leaks@Tom:非常感谢你的小费。令人困惑的是,在这方面似乎存在分歧。例如,这篇文章的说法正好相反。哪一个是正确的?@JoelErenberg:当属性直接从DOM中读取时,他们讨论的情况是一个问题。对于这种罕见的情况,您必须使用
    .attr()
    ,但一般情况下,绝对不要使用它来代替
    .data()
    ,因为
    .data()
    不会写入DOM,这样会快得多。及safe@JoelErenberg:这是Stack Overflow的一个问题: