jQuery Mobile:在更改页面后向ID添加文本

时间:2012-12-08 04:27:46

标签: jquery jquery-mobile

用户登录后,我在HTML5 localstorage中设置了用户名。我想将用户名设置到下一页的顶部工具栏中,但出于某种原因,它不会在changepage之后更改文本。页面更改但未插入文本。我做错了什么?

修改

 success: function(data) { 
        if(data.status == "success") {
                $.mobile.changePage("inventory.html");
                var username = localStorage.getItem('username');
                $("#top_username").html(username);  
            };
        if(data.status == "failed") {
            alert('Incorrect Login Information');
            };
        }

编辑:

3 个答案:

答案 0 :(得分:0)

$(function(){ // DOM is ready! wow, go for #top_username

    var username = localStorage.getItem('username');
    $("#top_username").html(username);

});

答案 1 :(得分:0)

因为你试图从上一页添加你的html内容 在

var username = localStorage.getItem('username');
$("#top_username").html(username); 

应该在inventory.html页面中,你应该有一个像这样的函数

$(document).on('pageinit').

然后它应该完美。希望这有帮助。

答案 2 :(得分:0)

如果要更改页面,则必须在新页面事件执行期间完成用于新页面的所有活动。

在您的情况下,您必须选择:

  1. 假设您的新页面ID是新页面,我们将对此事件进行更改:

    $('#newpage').live('pagebeforeshow',function(e,data){
        var username = localStorage.getItem('username');
        $("#top_username").html('<h1>' + username + '</h1>');
    }
    
  2. $('#newpage').live('pagebeforeshow',function(e,data){
        // Get it from prevPage
        var username = data.prevPage.find('#username').val();
        $("#top_username").html('<h1>' + username + '</h1>');
    }