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回调函数this指向问题
Feb 08 Javascript
使用jquery实现放大镜效果
Sep 02 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
Jun 18 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
Sep 23 Javascript
angular内置provider之$compileProvider详解
Sep 27 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
Nov 22 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
Mar 10 Javascript
vue element table 表格请求后台排序的方法
Sep 28 Javascript
详解CommonJS和ES6模块循环加载处理的区别
Dec 26 Javascript
JavaScript 预解析的4种实现方法解析
Sep 03 Javascript
vue.js购物车添加商品组件的方法
Sep 17 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
Jul 20 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 JSON 数据解析代码
2010/05/26 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
javaScript语法总结
2016/11/25 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
JS实现密码框效果
2020/09/10 Javascript
python多线程抓取天涯帖子内容示例
2014/04/03 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
python的concat等多种用法详解
2018/11/28 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
python多进程读图提取特征存npy
2019/05/21 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
新闻学毕业生自荐信
2013/11/15 职场文书
活动总结新闻稿
2014/08/30 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
承诺书模板大全
2015/05/04 职场文书
如何用python反转图片,视频
2021/04/24 Python
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
CSS中妙用 drop-shadow 实现线条光影效果
2021/11/11 HTML / CSS