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 相关文章推荐
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
Apr 06 Javascript
node+express+jade制作简单网站指南
Nov 26 Javascript
JS实现光滑展开合拢的菜单效果代码
Sep 16 Javascript
JS实现3D图片旋转展示效果代码
Sep 22 Javascript
js window对象属性和方法相关资料整理
Nov 11 Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 Javascript
javascript实现用户点击数量统计
Dec 25 Javascript
原生JS实现幻灯片
Feb 22 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
Dec 02 Javascript
小程序组件之自定义顶部导航实例
Jun 12 Javascript
js笔试题-接收get请求参数
Jun 15 Javascript
vue实现两个组件之间数据共享和修改操作
Nov 12 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
德生PL990的分析评价
2021/03/02 无线电
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
php HTML无刷新提交表单
2016/04/05 PHP
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
php生成与读取excel文件
2016/10/14 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
2010年最佳jQuery插件整理
2010/12/06 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
Vue核心概念Getter的使用方法
2019/01/18 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
Collection和Collections的区别
2016/05/02 面试题
如何通过jdbc调用存储过程
2012/04/19 面试题
高中化学教学反思
2014/01/13 职场文书
责任书格式范文
2014/07/28 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
刑事案件上诉状
2015/05/23 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js