繁体   English   中英

刷新jQuery移动Rangeslider

[英]Refreshing jQuery mobile rangeslider

动态更改幻灯片值后,我很难刷新jQuery Mobile Rangeslider。 滑块两侧的框中的值会更改,但滑块位置不会更改,并且鼠标悬停的文字不会更改。

 $( document ).on( "pagecontainerbeforeshow", function ( event, ui ) { console.log("THIS EVENT WAS ACTUALLY CALLED"); document.getElementById("hoursofdaymin").value = 6; document.getElementById("hoursofdaymax").value = 16; $("#hoursofdayslider", ui.prevPage).rangeslider('refresh'); // I've also tried: //$("#hoursofdaymin", ui.prevPage).slider('refresh'); //$("#hoursofdaymax", ui.prevPage).slider('refresh'); }); 
 <div class="upage ui-page-theme-a" id="mainpage" data-role="page"> <div class="upage-outer"> <div data-role="header" class="container-group inner-element uib_w_2" data-uib="jquery_mobile/header" data-ver="0"> <h1>Heading1</h1> <div class="widget-container wrapping-col single-centered"></div> <div class="widget-container content-area horiz-area wrapping-col left"></div> <div class="widget-container content-area horiz-area wrapping-col right"></div> </div> <div data-role="content"> <a class="widget uib_w_1 d-margins" data-uib="jquery_mobile/button" data-ver="0" data-role="button" href="#settings" data-transition="fade">Settings</a> </div> </div> </div> <div class="upage vertical-col left" id="settings" data-role="page"> <div data-role="header" data-add-back-btn="true" data-direction="reverse" data-back-btn-text="Back" data-uib="jquery_mobile/header"> <h1>Settings</h1> </div> <div data-role="content"> <form> <div data-role="rangeslider" id="hoursofdayslider"> <label for="hoursofdaymin">Hours:</label> <input type="range" id="hoursofdaymin" min="0" max="24" value="8"> <label for="hoursofdaymax">Hours:</label> <input type="range" id="hoursofdaymax" min="0" max="24" value="20"> </div> </form> </div> </div> 

jsFiddle在这里: http : //jsfiddle.net/uca97444/

请注意,我已经在StackOverflow上看到了几个相关的问题,但是还没有找到基于这些问题的解决方案。 我已经审查过的是:

jQuery Mobile双范围滑块重新加载新范围

如何在jquerymobile中刷新rangeslider

尽管对元素进行了部分更改,但似乎似乎用“ pagecontainerbeforeshow”进行更新已经太迟了。

将其更改为“ pagecreate”事件有效:

$( document ).on( "pagecreate", "#settings", function() {
    $("#hoursofdaymin").val(6);
    $("#hoursofdaymax").val(16);
    $("#hoursofdayslider").rangeslider('refresh');
});

http://jsfiddle.net/uca97444/1/

$( document ).on( "pagecreate", function ( event, ui ) {
    $("#hoursofdaymin").val(6);
    $("#hoursofdaymax").val(16);
    $("#hoursofdayslider").rangeslider('refresh');
});

http://jsfiddle.net/uca97444/2/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM