jquery mobile界面数据刷新
16lz
2021-01-22
JQM里面当我们更新了某些页面标签(如:listview,radiobuttons,checkboxes,selectmenus)里的数据时,必须做refresh操作.
为什么必须做refresh操作操作呢?因为JQM在做页面渲染的时候,为了使样式跟客户端程序相似,隐藏了原始的标签然后用一些新的标签和自定义的样式来表现原标签,其实新样式的标签已经不是原来的标签,所以更新了数据必须做refresh操作.
各类标签的刷新
1.Textareafields
$('body').prepend('<textarea id="myTextArea"></textarea>');
$('#myTextArea').textinput();
2.Textinputfields
$('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.Comboboxorselectdropdowns
<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.Slidercontrol
<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.Toggleswitch
<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 myswitch = $("#toggle");
myswitch[0].selectedIndex = 1;
myswitch .slider("refresh");
8.Radiobuttons
<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
<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');
10.controlgroup
controlgroup动态加载出现错误 cannot call methods on checkboxradio prior to initialization; attempted to call method 'refresh'
需要加入以下代码
$.mobile.pageContainer.trigger("create");
$("#voteGroup").controlgroup("refresh");
更多相关文章
- day049--jQuery文档操作示例
- JQuery操作<select>元素
- web前端复习(二):js日期操作,实现时间显示和倒计时效果
- jquery 如何同时选择多个不同的id执行同一种操作?
- jQuery遍历Table tr td td中包含标签
- Ajax没有处理select标签,PHP,AJAX
- 关于jquery点击之后,标签的hover失效这个问题
- jquery 触发a标签点击事件,弹出页面
- JQuery选择器和操作得到的元素