我有一个自定义的翻转盒,在接受的答案中描述: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。
我基本上需要设置此输入文本字段的初始值(可能有解决方法)
答案 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事件。