JQuery Mobile自定义Flipbox设置初始化值

时间:2014-05-06 12:31:52

标签: javascript jquery-mobile backbone.js datebox

我有一个自定义的翻转盒,在接受的答案中描述:JQuery Mobile Custom Flipbox get selected value

在页面呈现后我很难设置初始值我的'change-page'功能是这样的:

changePage:function (page) {
    page.$el.attr('data-role', 'page');
    page.render();
    $('body').append(page.$el).trigger('create');
    $.mobile.changePage(page.$el, {changeHash:false});

}

我使用Backbone.js来管理视图,然后将导航委托给jQM。

我基本上需要设置此输入文​​本字段的初始值(可能有解决方法)

the problem

1 个答案:

答案 0 :(得分:2)

好的,我自己想出来了,我愿意分享解决方案:

首先,更改页面功能略有不同:

changePage:function (page) {
    page.$el.attr('data-role', 'page');
    //get rid of everything in the old page.
    page.remove();
    //render the page again
    page.render();
    $('body').append(page.$el).trigger('create');
    $.mobile.changePage(page.$el, {changeHash:false});

}

删除调用是必要的,以摆脱旧呈现HTML中的每个事件监听器。

在每个需要init参数的页面中,您可以在render函数中指定:

render: function(){

....

this.$el.on('pageshow',this.initFields);

....

}

initFields: function(){                                       
   // put your jQuery code here (e.g. this.$el.find('foo').val('initValue');                                    
}

请注意,jQM文档中的此解决方案在jQM的1.5.0版本之前有效,之后将不再触发pageshow事件。