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将数据库中的TEXT类型数据动态赋值到TEXTAREA中
Apr 20 Javascript
在Windows上安装Node.js模块的方法
Sep 25 Javascript
jQuery取消ajax请求的方法
Jun 09 Javascript
JavaScript必知必会(三) String .的方法来自何方
Jun 08 Javascript
详细讲解vue2+vuex+axios
May 27 Javascript
Node.js利用断言模块assert进行单元测试的方法
Sep 28 Javascript
教你用Cordova打包Vue项目的方法
Oct 17 Javascript
JavaScript EventEmitter 背后的秘密 完整版
Mar 29 Javascript
js实现鼠标单击Tab表单切换效果
May 16 Javascript
JS使用for in有序获取对象数据
May 19 Javascript
如何实现小程序与小程序之间的跳转
Nov 04 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
Nov 30 Javascript
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应用技巧
2008/03/27 PHP
PHP注释实例技巧
2008/10/03 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
php中上传文件的的解决方案
2018/09/25 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
经验几则 推荐
2006/09/05 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
Python中join和split用法实例
2015/04/14 Python
Python编程实现粒子群算法(PSO)详解
2017/11/13 Python
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
python实现最长公共子序列
2018/05/22 Python
自学python的建议和周期预算
2019/01/30 Python
Python中logging日志库实例详解
2020/02/19 Python
pymysql模块使用简介与示例
2020/11/17 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
Python爬取梨视频的示例
2021/01/29 Python
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
毕业求职自荐信格式是什么
2013/11/19 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
幼儿园小班评语
2014/04/18 职场文书
给学校的建议书范文
2014/05/15 职场文书
教师师德考核自我评价
2014/09/13 职场文书
解决vue中provide inject的响应式监听
2022/04/19 Vue.js