我正在开发我的第一个混合应用程序,并且我使用jquerymobile 1.4。
文档建议使用方法pagecontainer。 好吧,我需要在显示页面之前动态填充xml文件的一个选择whit的值。 如果调试app,这只在页面充值时运行,而不是在打开时运行。 (Chrome导航)。 我在设备中测试过但不起作用。 我阅读了我在论坛上发现的所有内容,并尝试了多种方法,但都没有。
这是我的代码:
$(document).on('pagecontainerbeforeshow', function(event, ui){
if(ui.toPage.is('#buscar')){
$.get("auxfiles/regiones.xml", function (xml) {
$(xml).find("españa").each(function (idx ,v) {
$(v).find("item").each(function( i , vi) {
if ($(vi).text() === "Todas"){
$("#select-region").append('<option value = "' + idx + '" selected> ' + $(vi).text() + '</option>');
$('#select-region').selectmenu('refresh');
}else{
$("#select-region").append('<option value="' + idx + '"> ' + $(vi).text() + '</option>');
}
});
});
});
};
});
提前致谢。
编辑:我发现另一个问题! 如需查看,请访问: Pagina de prueba 当页面加载时,它可以,但是,如果你点击“蓝色房车”,打开页面“buscar.html”和页脚图像非常大,选择不填充。 如果点击“刷新”,一切正常!
答案 0 :(得分:1)
当jQuery Mobile加载buscar.html时,它实际上只是获取第一个data-role =“page”div的内容并将其插入当前页面。这是默认的AJAX导航:
http://demos.jquerymobile.com/1.4.5/navigation-linking-pages/
所以buscar.html中的脚本没有运行,导航栏中的图像很大,因为你的index.css仍在改变网格中的img标签。
如果你想保持AJAX导航以获得不错的页面转换,那么将脚本移动到data-role =“page”DIV中,甚至移动到索引页面中;并使你的CSS更适合img大小。
另一个选项是通过向链接添加数据-ajax =“false”来阻止AJAX导航。