jquerymobile局部渲染的各种刷新方法小结


Posted in Javascript onMarch 05, 2014

在JQueryMobile页面在第一次初始化进行一次整体渲染,动态生成的需要局部渲染。

在jquerymobile实现listview局部渲染的方法:

function queryPublishOrderList(trackOrDealOrInsp,userCode,type,pageNum){  
    var queryPublishOrderListURL="http://xxx.xxx.xxx.xxx/Myapp/WorkOrderSelByTypeService.svc/WorkOrderSimpSelByType/Json/"+trackOrDealOrInsp+"/"+userCode+"/"+type+"/"+pageNum;  
    $.ajax({  
        type: 'get',  
        dataType : "json",  
        url: queryPublishOrderListURL,  
        contentType: 'application/json',  
        data: [],  
        success: function(data) {  
              var sb = new StringBuffer();   
              $.each(data, function(i,item){  
                 //创建一个工单列表行对象  
                sb.append("<ul data-role='listview' data-inset='true' data-theme='c' data-pidertheme='b' >");  
                sb.append("<li data-role='list-pider'> "+item.work_orders_id+"<span class='ui-li-count'>"+i+"</span></li>");  
                sb.append("<li><a id='"+item.work_orders_id+"' href='inspectorder.html' >");  
                sb.append("<p data-role='fieldcontain' ><label for='work_orders_id'>工单号:</label><span id='work_orders_id'>"+item.work_orders_id+"</span></p>");  
                sb.append("<p data-role='fieldcontain'><label for='founder_na'>创建人:</label><span id='founder_na'>"+item.founder_na+"</span></p>");  
                sb.append("<p data-role='fieldcontain'><label for='found_time'>创建时间:</label><span id='found_time'>"+item.found_time+"</span></p>");  
                sb.append("<p data-role='fieldcontain'><label for='type_na'>工单类型:</label><span id='type_na'>"+item.type_na+"</span><img  src='../../images/beforeforward.png' style='float: right'/></p>");  
                sb.append("<p data-role='fieldcontain'><label  for='work_cont'>工单内容:</label><span id='work_cont'>"+item.work_cont+"</span></p>");  
                sb.append("</a></li>");  
                sb.append("</ul>");  
              });  
              var content = sb.toString();   
                 $("#queryList").html(content);  
        },  
        error:function(XMLHttpRequest, textStatus, errorThrown){  
                alert("请求远程服务错误!");  
        },  
        complete: function() {      
              $("p[data-role=content] ul").listview();            
        }    
    });  
} 

备注:

listview针对jquerymobile针对listview组件刷新。

$("p[data-role=content] ul").listview();  

如果想针对listview内部的li刷新可以使用

$("p[data-role=content] ul li").listview("refresh");

否则报错误如下:

jquerymobile listviewcannot call methods on listview prior to initialization; attempted to call method 'refresh'

jquerymobile checkbox及时刷新才能获取其准确值

一般登录的时候 都有个记住用户名 记住密码 的两个checkbox 多选框  用jquerymobile 做页面 ,当勾选checkbox 时总是不能获取它正确的值。  
解决办法:    
[code]
$('input[type="checkbox"]').bind('click',function() {  
       $(this).prop('checked').checkboxradio("refresh");   // 绑定事件及时更新checkbox的checked值  
  }); 
 

如果要用js去改变checkbox的值时也要及时刷新。  

$('input [type="checkbox"]').attr('checked',false).checkboxradio("refresh"); 
$('input [type="checkbox"]').attr('checked',false).checkboxradio("refresh");  

原因:因为手动改变它的值后,jquerymobile不能重新渲染。 这样页面显示的值和实际值就不一样了。 (jquerymobile 把form表单元素都隐藏起来,然后用 js添加了一些元素易于美化input, select ,textarea 等元素的效果)
[/code]
下拉框刷新

$("#selectbox").html(optionList).selectmenu('refresh', true); 

复选按钮  
$("input[type='checkbox']").attr("checked",true).checkboxradio("refresh");  单选按钮组:  
$("input[type='radio']").attr("checked",true).checkboxradio("refresh");  
选择列表::  
var myselect = $("select#foo");  
myselect[0].selectedIndex = 3;  
myselect.selectmenu("refresh");   
滑动条  
$("input[type=range]").val(60).slider("refresh");  
开关 (they use slider):  
var myswitch = $("select#bar");  
myswitch[0].selectedIndex = 1;  
myswitch .slider("refresh"); 

select 禁用样式
<select id="select-choice-1" class="mobile-selectmenu-disabled ui-state-disableddisabled="disabled"name="select-choice-1" aria-disabled="true">
<option value="standard">Standard: 7 day</option>
<option value="rush">Rush: 3 days</option>
<option value="express">Express: next day</option>
<option value="overnight">Overnight</option>
</select>

button禁用样式
<input class="ui-btn-hidden mobile-button-disabled ui-state-disabled" type="button" disabled="disabled"value="不可用" aria-disabled="true">

Javascript 相关文章推荐
JavaScript Chart 插件整理
Jun 18 Javascript
javascript实现存储hmtl字符串示例
Apr 25 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
Jul 27 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
Sep 14 Javascript
基于Angularjs实现分页功能
May 30 Javascript
js微信扫描二维码登录网站技术原理
Dec 01 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
Oct 29 jQuery
发布一款npm包帮助理解npm的使用
Jan 03 Javascript
Vue全局loading及错误提示的思路与实现
Aug 09 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
Sep 10 jQuery
js回调函数仿360开机
Dec 26 Javascript
一文帮你理解PReact10.5.13源码
Apr 03 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 #Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
Mar 05 #Javascript
thinkphp中常用的系统常量和系统变量
Mar 05 #Javascript
js判断ie版本号的简单实现代码
Mar 05 #Javascript
浅析tr的隐藏和显示问题
Mar 05 #Javascript
jQuery性能优化的38个建议
Mar 04 #Javascript
javascript设计模式之工厂模式示例讲解
Mar 04 #Javascript
You might like
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
php导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
vue无限轮播插件代码实例
2019/05/10 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
Python实现合并字典的方法
2015/07/07 Python
简单谈谈python基本数据类型
2018/09/26 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
python实现简单文件读写函数
2021/02/25 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
2015年度优秀员工获奖感言
2015/07/31 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python