`

动态加载select内容 不显示 error

jqm 
阅读更多
最近在做jqm开发过程中需要做一个地址选择器,做成异步加载形式。在web浏览器下一切正常,可是一放到手机上需要异步加载的数据总是获取不到,急呀。
html部分代码

<div data-role="fieldcontain">
   <label for="province" class="select">省</label>
   <select name="stateProvinceGeoId" id="province" data-native-menu="false">
   <option value="">请选择:</option>
   <#list provinceGeoList?if_exists as provinceGeo>
   <option value="${provinceGeo.geoId?if_exists}"
    <#if provinceGeo.geoId==(postalAddress.stateProvinceGeoId)?default("")>selected</#if> >${provinceGeo.geoName}</option>
   </#list>
   </select>
</div>
<div data-role="fieldcontain">
   <label for="city" class="select">市</label>
   <select name="cityGeoId" id="city" data-native-menu="false">
        <option value="">请选择:</option>
   </select>
   </label>
</div>

<div data-role="fieldcontain">
   <label for="county" class="select">显:</label>
   <select name="countyGeoId" id="county" data-native-menu="false">
   <option value="">${uiLabelMap.PleaseChoose}</option>
    </select>
</div>
======================================================================
js部分代码
$("#province").change(function() {
   var provinceValue = $("#province").val();
   var city = $("#city");
   getGeoSelect("PROVINCE", provinceValue, city);
   var county = $("#county");
   county.empty();
   $("<option value=''>${uiLabelMap.PleaseChoose}                 </option>").appendTo(county);
        county.selectmenu("refresh");
    });

    $("#city").change(function() {
        var cityValue = $("#city").val();
        var county = $("#county");
        getGeoSelect("CITY", cityValue, county);
    });

    function getGeoSelect(geoTypeParameter, geoIdParameter, oSelect) {
       
       $.ajax({
            url:"<@ofbizUrl>getgeo</@ofbizUrl>" ,
            type:"GET",
            data:"geoTypeParameter="+geoTypeParameter+"&geoIdParameter="+geoIdParameter,
            contentType: "application/json",           
            success:function (data,status){
                alert(status);
                $.each(data.geoList, function(i, item) {
                    var optionKeyValue = "<option value=" + item.geoId + ">" + item.geoName + "</option>";
                    $(optionKeyValue).appendTo(oSelect);
                });
                oSelect.selectmenu("refresh");
            },
               error:function (){
                alert("error");
            }
        });
}
以上代码在浏览器中执行没有问题,但是一到手机上就获取不到数据, 异步请求后error函数总是执行,百思不得其解。无奈只好逛论坛了,终于有所收获呀。
http://forum.jquery.com/topic/dynamically-generated-listview在这个帖子里我找到了解决的办法。

I solved this by doing an synchronous load using the .ajax() method instead, otherwise refreshing the listview will not work because it is not loaded (if done async)


Here's some sample code which worked for me.


$.ajax({ url: "get-new-list-url.php",
async: false,
success: function(data) {
//alert("Loaded content...");
       $("#isearch-results").html(data);
$("#search-results-list").listview("refresh");
     },
error: function(response, error) {
//alert("Error: " + response + " : " + error)
$("#search-results").html("Unable to load search results.");
}
});


Hope that helps..

根据这个我把我的ajax请求加上async: false, 问题终于解决了。
浪费这么久时间就为了这一句话呀.....无语  留存记录以备后用。
 
分享到:
评论

相关推荐

    大名鼎鼎SWFUpload- Flash+JS 上传

    它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。  在使用SWFUpload之前,请确认你具备一定的JavaScript和DOM知识。在实际开发中,大部分的错误都...

    经典全面的SQL语句大全

     DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)  DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)  首先,简要介绍基础语句:  1、说明:创建数据库 CREATE DATABASE database-name  2、说明:删除...

    oracle数据库经典题目

    21. 如果允许用户对视图进行更新和插入操作,但是又要防止用户将不符合视图约束条件的记录添加到视图,应当在定义视图时指定下列哪一个子句?( C ) A.WITH GRANT OPTION B. WITH READ ONLY C. WITH CHECK OPTION ...

    django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决

    主要给大家介绍了关于执行python manage.py migrate时报错:django.db.utils.ProgrammingError: (1146, "Table 'test.model_student' doesn't exist" )问题的解决方法,文中将解决的方法介绍的非常详细,需要的朋友...

    MySql数据分区操作之新增分区操作

    如果想在已经建好的表上进行分区,如果使用alter添加分区的话,mysql会提示错误: 代码如下: ERROR 1505 &lt;HY000&gt; Partition management on a not partitioned table is not possible 正确的方法是新建一个具有分区...

    精髓Oralcle讲课笔记

    --(选择comm字段不为null的数据) 17、select ename, sal, comm from emp where sal in (800, 1500,2000); --(in 表范围) 18、select ename, sal, hiredate from emp where hiredate &gt; '02-2月-1981'; --(只能...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    而且不能删除当前用户,如果删除的用户有数据对象,那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle中权限主要分为两种,系统权限和实体权限。  系统权限:...

    电话薄管理系统C语言

    /*显示数组temp[]中存储的电话簿记录,内容为telebook结构中定义的内容*/ void Disp(TELEBOOK temp[],int n) { int i; if(n==0) /*表示没有电话簿记录*/ { printf("\n=====&gt;Not telephone record!\n"); getchar();...

    PHP100视频教程 10:MYSQL在PHP5中的应用

    @ 和 or die 隐藏错误 和 条件显示如果不特别声明连接标识符,则默认为是上一次打开的连接。2、如何去执行一个SQL语句mysql_query (SQL语句 ,连接标识符);说明:mysql_query用来根据连接标识符向该数据库服务器的...

    C#语法及存储过程.docx

    set @sum = @sum + @@error //如果有一天sql语句报错@@error将会记录为1 if@sum&lt;&gt; 0 //如果不为0,说明有SQL语句执行错误 begin rollback //将事务回滚到执行之前 end else begin commit //SQL语句执行...

    Oracle8i_9i数据库基础

    §16.4.2.3 使用户raise_application_error处理 286 第十七章 创建包和使用包 287 §17.1 引言 287 §17.2 包的定义 288 §17.3 包的开发步骤 289 §17.4 包的头部说明 289 §17.5 包体的说明 290 §17.6 删除过程、...

    ExtAspNet_v2.3.2_dll

    -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。 +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。 -这样所有需要占据全屏的Panel(不管你是Accordion...

    PHP100视频教程 10:MYSQL在PHP5中的应用.rar

    如果不特别声明连接标识符,则默认为是上一次打开的连接。 2、如何去执行一个SQL语句 mysql_query (SQL语句 ,连接标识符); 说明:mysql_query用来根据连接标识符向该数据库服务器的当前数据库发送查询, 如果...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。 +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。 -这样所有需要占据全屏的Panel(不管你是Accordion...

    Powerbuilder9.0实用教程源代码

    3.3.1 向数据库中添加数据表 82 3.3.2 编辑数据表属性 84 3.3.3 为数据表指定主键、外键和索引 87 3.3.4 浏览数据表 90 3.3.5 插入、修改和更新记录 91 3.3.6 为数据表创建视图 92 3.4 创建查询 94 3.4.1 ...

    MySQL 入门学习 ——基础教程

    我们先用SELECT命令来查看表中的数据: mysql&gt; select * from mytable; Empty set (0.00 sec) 这说明刚才创建的表还没有记录。 加入一条新记录: mysql&gt; insert into mytable -&gt; values (´abccs´,´f´,´...

    JavaScript完全自学宝典 源代码

    \ajaxmodel\src\bonze\CityServlet.java 动态加载列表框的服务器端。 \ajaxmodel\src\bonze\AutoRefServlet.java 自动刷新网页的服务器端。 \ajaxmodel\src\bonze\ProcessServlet.java 显示进度条的服务器端...

    【原创】模拟网页自动点击工具 -- 支持自动刷新IP(UV),支持访问MYSQL、MSSQL数据库返回链接,支持自动在线更新

    IP数据表就是每执行一下点击网页都会记录下本次的IP,记录文件放在此工具的路径下的Data目录下的iptables.log文件,最小化启动程序就是启动此工具或最小化窗口后台托管运行,就像QQ一样挂着。循环重启软件运行此项是...

    数据库基础

    §16.4.2.3 使用户raise_application_error处理 286 第十七章 创建包和使用包 287 §17.1 引言 287 §17.2 包的定义 288 §17.3 包的开发步骤 289 §17.4 包的头部说明 289 §17.5 包体的说明 290 §17.6 删除过程、...

Global site tag (gtag.js) - Google Analytics