jquerymobile动态添的无索刷新
当我们使用Ajax或者javascript动态在页面上添加元素后,如添加select控件的option元素,添加ul的li元素。添加之后我们会发现,它们显示的样式不是jQuery Mobile的炫酷样式了,而变成了很丑陋的元素样式。如下图所示:
代码如下:
<script>
function myFunction() {
var ul = document.getElementById("myul");
var li1 = "<li data-role=\"fieldcontain\">信息2</li>";
var li2 = "<li data-role=\"fieldcontain\">信息3</li>";
ul.innerHTML += li1;
ul.innerHTML += li2;
}
</script> <!-- listview测试 -->
<ul data-role="listview" data-inset="true" id="myul">
<li data-role="list-divider">信息列表</li>
<li data-role="fieldcontain">信息1</li>
</ul>
可以看到,jQuery Mobile并没有对于新添加的元素进行渲染。这种情况下就需要对元素的样式进行刷新。
刷新代码如下:
<script>
function myFunction() {
var ul = document.getElementById("myul");
var li1 = "<li data-role=\"fieldcontain\">信息2</li>";
var li2 = "<li data-role=\"fieldcontain\">信息3</li>";
ul.innerHTML += li1;
ul.innerHTML += li2; //刷新jQuery Mobile样式
$('#myul').listview('refresh');
}
</script>
其实最重要的一句刷新代码是:$('#myul').listview('refresh');
刷新后的效果如下图所示:
注意:在使用js或者jQuery获取控件(例如:button、checkbox、radiobutton等)的值时,也是需要先刷新,否则无法获取到最新的值。
下面列出常用的标签的refresh操作,其他的可以举一反三。
1. Listview的refresh操作:
$('#mylistid').listview('refresh');
2. select menu的refresh操作:
var myselect = $("#myselect");
myselect[0].selectedIndex = 2;
myselect.selectmenu("refresh");
3. Checkboxes的refresh操作:
$("#mycheckboxid").attr("checked",true).checkboxradio("refresh");
4. Radio buttons的refresh操作:
$("#myradioid").attr("checked",true).checkboxradio("refresh");
新加的:来自:http://hi.baidu.com/life_to_you/item/bf3621365fa5974b033edcbc
各类标签的刷新
1.Textarea fields
1
2
|
$( 'body' ).prepend( '<textarea id="myTextArea"></textarea>' ); $( '#myTextArea' ).textinput(); |
2.Text input fields
1
2
|
$( 'body' ).prepend( '<input type="text" id="myTextField" />' ); $( '#myTextField' ).textinput(); |
3.Buttons
1
2
|
$( 'body' ).append( '<a href="" data-theme="e" id="myNewButton">testing</a>' ); $( '#myNewButton' ).button(); |
4.Combobox or select dropdowns
1
2
3
4
5
6
7
8
9
10
|
<label for = "sCountry" >Country:</label> <select name= "sCountry" id= "sCountry" > <option value= "" >Where You Live:</option> <option value= "ad" >Andorra</option> <option value= "ae" >United Arab Emirates</option> </select> var
"#sCountry" ); myselect[0].selectedIndex = 3; myselect.selectmenu( 'refresh' ); |
5.Listviews
1
2
3
4
5
6
7
|
<ul id= "myList" data-role= "listview" data-inset= "true" > <li>Acura</li>
<li>Audi</li>
<li>BMW</li>
</ul> $( '#mylist' ).listview( 'refresh' ); |
6.Slider control
1
2
3
4
5
6
|
<div data-role= "fieldcontain" > <label for = "slider-2" >Input slider:</label> <input type= "range" id= "slider-2" value= "25" min= "0" max= "100" /> </div> $( '#slider-2' ).val(80).slider( 'refresh' ); |
7.Toggle switch
1
2
3
4
5
6
7
8
9
10
11
|
<div data-role= "fieldcontain" > <label for = "toggle" >Flip switch :</label> <select name= "toggle" id= "toggle" data-role= "slider" > <option value= "off" >Off</option> <option value= "on" >On</option> </select> </div> var
"#toggle" ); myswitch[0].selectedIndex = 1; myswitch .slider( "refresh" ); |
8.Radio buttons
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<div data-role= "fieldcontain" > <fieldset data-role= "controlgroup" data-type= "horizontal" > <legend>Layout view:</legend> <input type= "radio" name= "radio-view" value= "list" /> <label for = "radio-view-a" >List</label> <input type= "radio" name= "radio-view" value= "grid" /> <label for = "radio-view-b" >Grid</label> <input type= "radio" name= "radio-view" value= "gallery" /> <label for = "radio-view-c" >Gallery</label> </fieldset> </div> $( "input[value=grid]" ).attr( 'checked' , true ).checkboxradio( 'refresh' ); |
9.Checkboxes
1
2
3
4
5
6
7
8
9
|
<div data-role= "fieldcontain" > <fieldset data-role= "controlgroup" > <legend>Agree to the terms:</legend> <input type= "checkbox" name= "checkbox-1" id= "checkbox-1" class= "custom" /> <label for = "checkbox-1" >I agree</label> </fieldset> </div> $( '#checkbox-1' ).attr( 'checked' , true ).checkboxradio( 'refresh' ); |
jquerymobile动态添的无索刷新的更多相关文章
- JqueryMobile动态生成listView并实现刷新的两种方法
本篇文章主要是对JqueryMobile动态生成listView并实现刷新的两种方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 JqueryMobile动态生成listView并实现刷新 ...
- jqueryMobile 动态添加元素,展示刷新视图方法
jqueryMobile动态添加元素jqueryMobile郏高阳 jQuery Mobile的是一个很好的移动开发框架,你可能已经知道,虽然它有很多难以解决的问题,但是我相信后续版本jquery会修 ...
- Spring Cloud实战 | 最八篇:Spring Cloud +Spring Security OAuth2+ Axios前后端分离模式下无感刷新实现JWT续期
一. 前言 记得上一篇Spring Cloud的文章关于如何使JWT失效进行了理论结合代码实践的说明,想当然的以为那篇会是基于Spring Cloud统一认证架构系列的最终篇.但关于JWT另外还有一个 ...
- .Net中使用无闪刷新控件时提示框不显示
今天做提示框的时候一直不显示,让我郁闷好久,晚上吃饭的时候问了同事一下,他给了一个思路, 他说可能是因为由于页面中的无闪刷新导致的结果:百度了一下真找到了解决方法 在页面中存在无闪刷新控件的时候提示框 ...
- WPF MVVM模式下的无阻塞刷新探讨
很多时候我们需要做一个工作,在一个方法体里面,读取大数据绑定到UI界面,由于长时间的读取,读取独占了线程域,导致界面一直处于假死状态.例如,当应用程序开始读取Web资源时,读取的时效是由网络链路的速度 ...
- jquerymobile动态添加元素之后不能正确渲染解决方法
jquerymobile动态添加元素之后有些不能被正确渲染的解决方法: listview: 添加 jq(".detail").listview(&quo ...
- ArcEngine 图层无闪烁刷新
使用AE的同行经常会遇到这样的问题,图层刷新.目前常用的有以下几种方法: 1.完全刷新 MapControl.Refresh(); 2.局部刷新 MapControl.Refresh(esriView ...
- 动态IP或无公网IP时外网訪问内网ORACLE数据库
ORACLE数据库是应用最多的一个数据库.一般项目应用.将ORACLE部署在内网,内网调用,及运维都仅仅能是内网完毕. 假设ORACLE主机或所在局域网没有固定公网IP,又想在外网对ORACLE进行訪 ...
- JQ 数组动态添值,对象动态添值,判断数组/对象是否为空
1.数组动态添值 首先声明一个空数组:var data = new Array(); 向数组中添值 :data.push('添加的值'); 示例:
随机推荐
- iOS block 机制
本文要将block的以下机制,并配合具体代码详细描述: block 与 外部变量 block 的存储域:栈块.堆块.全局块 定义 块与函数类似,只不过是直接定义在另一个函数里,和定义它的那个函数共享同 ...
- “reliable message”事件引发的思考
今天无意间看到了“reliable message"事件,平时还真没深入研究过这个事件,于是,就收集资料并稍微研究了一下,以下是官方就该事件给出的说明: When you send a me ...
- 在js中if条件为null/undefined/0/NaN/""表达式时,统统被解释为false,此外均为true
Boolean 表达式 一个值为 true 或者 false 的表达式.如果需要,非 Boolean 表达式也可以被转换为 Boolean 值,但是要遵循下列规则: 所有的对象都被当作 true. 当 ...
- redisObject
typedef struct redisObject { unsigned type:4; unsigned encoding:4; unsigned lru:REDIS_LRU_B ...
- 尚学堂java答案解析 第一章
本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题: 1.C 解析:java为了安全,中并没有引入C语言的指针概念. 2.AD 解析:B:Java先通过ja ...
- 在学习DRF之前
学习DRF之前~~~ 在学习DRF之前~我们要先复习一些知识点~~ FBV和CBV 学习Django的时候~我们已经学习过了CBV以及FBV~~我们来复习一下~~ 什么是FBV和CBV呢~~ FB ...
- Python实战之logging模块使用详解
用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...
- 第二节 java流程控制(判断结构+选择结构)
Java的判断结构: 1.if(条件表达式){ 执行语句 }: 2.if(条件表达式){ 执行语句 }else{ 执行语句 } 3. if(条件表达式){ 执行语句 }else if(条件表达式){ ...
- DevExpress WPF v18.2新版亮点(二)
买 DevExpress Universal Subscription 免费赠 万元汉化资源包1套! 限量15套!先到先得,送完即止!立即抢购>> 行业领先的.NET界面控件2018年第 ...
- DevExpress v18.1新版亮点——Reporting篇(四)
用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress Reporting v18.1 的新功能,快来下载试用新版本 ...