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 aminate方法定位到页面具体位置
Dec 26 Javascript
第十篇BootStrap轮播插件使用详解
Jun 21 Javascript
AngularJS  自定义指令详解及实例代码
Sep 14 Javascript
Bootstrap响应式侧边栏改进版
Sep 17 Javascript
100多个基础常用JS函数和语法集合大全
Feb 16 Javascript
微信小程序 下拉菜单的实现
Apr 06 Javascript
Validform验证时可以为空否则按照指定格式验证
Oct 20 Javascript
vue自定义过滤器创建和使用方法详解
Nov 06 Javascript
ajax前台后台跨域请求处理方式
Feb 08 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
Sep 13 Javascript
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
JavaScript实现多文件下载方法解析
Aug 07 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表单提交问题的解决方法
2011/04/12 PHP
php设计模式 State (状态模式)
2011/06/26 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
php中有关合并某一字段键值相同的数组合并的改进
2015/03/10 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
在django view中给form传入参数的例子
2019/07/19 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
个人优缺点自我评价
2014/01/27 职场文书
体育运动口号
2014/06/09 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
redis缓存存储Session原理机制
2021/11/20 Redis
git stash(储藏)的用法总结
2022/06/25 Servers