jquerymobile局部渲染的各種刷新方法小結(jié)
在JQueryMobile頁(yè)面在第一次初始化進(jìn)行一次整體渲染,動(dòng)態(tài)生成的需要局部渲染。
在jquerymobile實(shí)現(xiàn)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){
//創(chuàng)建一個(gè)工單列表行對(duì)象
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'>工單號(hào):</label><span id='work_orders_id'>"+item.work_orders_id+"</span></p>");
sb.append("<p data-role='fieldcontain'><label for='founder_na'>創(chuàng)建人:</label><span id='founder_na'>"+item.founder_na+"</span></p>");
sb.append("<p data-role='fieldcontain'><label for='found_time'>創(chuàng)建時(shí)間:</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'>工單內(nèi)容:</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("請(qǐng)求遠(yuǎn)程服務(wù)錯(cuò)誤!");
},
complete: function() {
$("p[data-role=content] ul").listview();
}
});
}
備注:
listview針對(duì)jquerymobile針對(duì)listview組件刷新。
$("p[data-role=content] ul").listview();
如果想針對(duì)listview內(nèi)部的li刷新可以使用
$("p[data-role=content] ul li").listview("refresh");
否則報(bào)錯(cuò)誤如下:
jquerymobile listviewcannot call methods on listview prior to initialization; attempted to call method 'refresh'
jquerymobile checkbox及時(shí)刷新才能獲取其準(zhǔn)確值
一般登錄的時(shí)候 都有個(gè)記住用戶名 記住密碼 的兩個(gè)checkbox 多選框
用jquerymobile 做頁(yè)面 ,當(dāng)勾選checkbox 時(shí)總是不能獲取它正確的值。
解決辦法:
[code]
$('input[type="checkbox"]').bind('click',function() {
$(this).prop('checked').checkboxradio("refresh"); // 綁定事件及時(shí)更新checkbox的checked值
});
如果要用js去改變checkbox的值時(shí)也要及時(shí)刷新。
$('input [type="checkbox"]').attr('checked',false).checkboxradio("refresh");
$('input [type="checkbox"]').attr('checked',false).checkboxradio("refresh");
原因:因?yàn)槭謩?dòng)改變它的值后,jquerymobile不能重新渲染。 這樣頁(yè)面顯示的值和實(shí)際值就不一樣了。 (jquerymobile 把form表單元素都隱藏起來(lái),然后用 js添加了一些元素易于美化input, select ,textarea 等元素的效果)
[/code]
下拉框刷新
$("#selectbox").html(optionList).selectmenu('refresh', true);
復(fù)選按鈕
$("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");
滑動(dòng)條
$("input[type=range]").val(60).slider("refresh");
開(kāi)關(guān) (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-disabled" disabled="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">
相關(guān)文章
jquery中常用的SET和GET$(”#msg”).html循環(huán)介紹
jquery中常用的SET和GET$(”#msg”).html循環(huán)想必大家并不陌生吧,本文整理了一些,感興趣的朋友可以參考下2013-10-10
webpack中引用jquery的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇webpack中引用jquery的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
jQuery簡(jiǎn)單實(shí)現(xiàn)提交數(shù)據(jù)出現(xiàn)loading進(jìn)度條的方法
這篇文章主要介紹了jQuery簡(jiǎn)單實(shí)現(xiàn)提交數(shù)據(jù)出現(xiàn)loading進(jìn)度條的方法,涉及jQuery的ajax調(diào)用及頁(yè)面樣式操作技巧,需要的朋友可以參考下2016-03-03
jQuery實(shí)現(xiàn)導(dǎo)航樣式布局操作示例【可自定義樣式布局】
這篇文章主要介紹了jQuery實(shí)現(xiàn)導(dǎo)航樣式布局操作,可實(shí)現(xiàn)基于jQuery的用戶自定義樣式布局與屬性動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下2018-07-07
jquery slibings選取同級(jí)其他元素的實(shí)現(xiàn)代碼
jquery選取同級(jí)其他元素可以使用slibings方法,end方法可以清除之前的鏈?zhǔn)讲僮?,相?dāng)于重新開(kāi)始2013-11-11
jquery中animate動(dòng)畫(huà)積累的解決方法
setTimeout使用時(shí)會(huì)產(chǎn)生動(dòng)畫(huà)隊(duì)列,有可能是在chrome瀏覽器中窗口不處于最前端時(shí)動(dòng)畫(huà)的隊(duì)列產(chǎn)生積累,下面為大家介紹下詳細(xì)的解決方法2013-10-10
手寫(xiě)簡(jiǎn)單的jQuery雪花飄落效果實(shí)例
這篇文章主要給大家介紹了關(guān)于手寫(xiě)簡(jiǎn)單的jQuery雪花飄落的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
jQuery實(shí)現(xiàn)表格與ckeckbox的全選與單選功能
先給大家介紹下jQuery實(shí)現(xiàn)表格與ckeckbox的全選與單選功能,以及通過(guò)js實(shí)現(xiàn)隱藏與顯示銨鈕功能的實(shí)例代碼,需要的朋友參考下吧2016-11-11

