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 相关文章推荐
fromCharCode和charCodeAt 方法
Dec 27 Javascript
网页javascript精华代码集
Jan 24 Javascript
JavaScript 关键字屏蔽实现函数
Aug 02 Javascript
Jquery公告滚动+AJAX后台得到数据
Apr 14 Javascript
JQquery的一些使用心得分享
Aug 01 Javascript
JSON中双引号的轮回使用过程中一定要小心
Mar 05 Javascript
alert出数组中的随即值代码
Sep 25 Javascript
JavaScript函数详解
Nov 17 Javascript
jQuery实现左右切换焦点图
Apr 03 Javascript
js实现网页抽奖实例
Aug 05 Javascript
Bootstrap模态框使用详解
Feb 15 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
如何实现json数据可视化详解
2016/11/24 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python私有属性和方法实例分析
2015/01/15 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
二年级小学生评语
2014/04/21 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
民政局离婚协议书范本
2014/10/20 职场文书
师范生见习报告范文
2014/11/03 职场文书
旷工检讨书1000字
2015/01/01 职场文书
国博复兴之路观后感
2015/06/02 职场文书
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript