jquerymobile:当mobile.changepage使用reloadpage调用时,目标页面不刷新:true

时间:2012-08-08 22:17:49

标签: javascript jquery jquery-mobile

我正在尝试使用如下所示的mobile.changepage通过ajax调用加载页面:

mobile.changePage( "index.html", {transition: "slide", reloadPage: true, data: id})

我尝试在index.html上使用所有功能,例如:

$( '#mainMenu' ).live( 'pageinit',function(event){var movie_id = location.search;});

页面已加载,但我无法在index.html页面上获取“id”的值,就好像我努力刷新它一样。

我做错了什么?

由于 罗德里戈

1 个答案:

答案 0 :(得分:1)

假设您将单个参数传递给page2,您可以使用location.search中的page2来获取电影变量,但我发现它对常规效果不佳浏览器。因此,在结果页面中,您需要解析$(this).data('url')

此外,page2中的脚本代码必须位于DIV#page2块内,因为当您更改下一页时(另一位成员注意到),您的标题HTML中的内容不会更改。< / p>

脚本阻止:

<强>第1页

<script language="javascript">

    $( '#mainMenu' ).live( 'pageinit',function(event){
        $('.btnTxtSearch').bind('click',function () {
            var movieName = $('#txtMovieTitle').val();
            if (!movieName || movieName.length == 0 || movieName == null) {
                alert('Please insert a title before clicking the button');
                return false;
            } //end of if

            $.mobile.changePage( "page2.html", {transition: "slide", reloadPage: true, data: movieName}); 

        });
    });

</script>

<强>第2页

<script language="javascript">
//Without this pageinit may be called multiple times in back and forth use case.   
$('#page2').die( 'pageinit');

$('#page2').live( 'pageinit',function(){
    var movieName = $(this).data('url').split('?')[1];
    //Debug:
    alert(movieName);
});     


</script>