jQuery Mobile动态刷新页面样式的实现方法


Posted in Javascript onMay 28, 2016

当我们使用Ajax或者javascript动态在页面上添加元素后,如添加select控件的option元素,添加ul的li元素。添加之后我们会发现,它们显示的样式不是jQuery Mobile的炫酷样式了,而变成了很丑陋的元素样式。如下图所示:

 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');

刷新后的效果如下图所示:

 

jQuery Mobile动态刷新页面样式的实现方法

注意:在使用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"); 

新加的:

 各类标签的刷新

1.Textarea fields

$('body').prepend('<textarea id="myTextArea"></textarea>');
$('#myTextArea').textinput();

2.Text input fields

$('body').prepend('<input type="text" id="myTextField" />');
$('#myTextField').textinput();

3.Buttons

$('body').append('<a href="" data-theme="e" id="myNewButton">testing</a>');
$('#myNewButton').button();

4.Combobox or select dropdowns

<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 myselect = $("#sCountry");
myselect[0].selectedIndex = 3;
myselect.selectmenu('refresh');

5.Listviews

<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

<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

<div data-role="fieldcontain">
<label for="toggle">Flipswitch:</label>
<select name="toggle"id="toggle"data-role="slider">
<option value="off">Off</option>
<option value="on">On</option>
</select> 
</div> 
 
var myswitch = $("#toggle");
myswitch[0].selectedIndex = 1;
myswitch .slider("refresh");

8.Radio buttons

<div data-role="fieldcontain">
  <fieldset data-role="controlgroup"data-type="horizontal">
   <legend>Layout view:</legend>
     <input type="radio"name="radio-view"value="list"/>
     <labelfor="radio-view-a">List</label>
     <input type="radio"name="radio-view"value="grid"/>
     <labelfor="radio-view-b">Grid</label>
     <input type="radio"name="radio-view"value="gallery"/>
     <labelfor="radio-view-c">Gallery</label>
  </fieldset>
</div> 
 
$("input[value=grid]").attr('checked',true).checkboxradio('refresh');

9.Checkboxes

<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');

以上这篇jQuery Mobile动态刷新页面样式的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 定义function的三种方式小结
Oct 16 Javascript
javascript实现焦点滚动图效果 具体方法
Jun 24 Javascript
jquery插件splitScren实现页面分屏切换模板特效
Jun 16 Javascript
js实现点击切换TAB标签实例
Aug 21 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
Aug 21 Javascript
Web 开发中Ajax的Session 超时处理方法
Jan 19 Javascript
jQuery DateTimePicker 日期和时间插件示例
Jan 22 Javascript
javascript 判断当前浏览器版本并判断ie版本
Feb 17 Javascript
简述vue状态管理模式之vuex
Aug 29 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
Aug 21 Javascript
vue实现拖拽进度条
Mar 01 Vue.js
vue 数字翻牌器动态加载数据
Apr 20 Vue.js
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
May 28 #Javascript
jQuery操作动态生成的内容的方法
May 28 #Javascript
javascript 用函数实现继承详解
May 28 #Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
May 28 #Javascript
jQuery实现布局高宽自适应的简单实例
May 28 #Javascript
jquery mobile界面数据刷新的实现方法
May 28 #Javascript
jquery自适应布局的简单实例
May 28 #Javascript
You might like
PHP实现图片上传并压缩
2015/12/22 PHP
PHP进程通信基础之信号
2017/02/19 PHP
简单实现php上传文件功能
2017/09/21 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
2018/11/08 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python Sleep休眠函数使用简单实例
2015/02/02 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
新任教师自我鉴定
2014/02/24 职场文书
2015年教务工作总结
2015/05/23 职场文书
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA