以编程方式设置JQuery Mobile滑块值

问题描述 投票:3回答:3

如何在JQuery mobile中以编程方式设置滑块的值?我定义了以下滑块:

<label for="optionSlider">Are you sure?</label>
<select id="optionSlider" name="slider" data-role="slider">
  <option value="no">No</option>
  <option value="yes">Yes</option>
</select>

显示页面时,我要将其设置为“是”。我知道我可以使用“ selected”属性,但是由于该值是动态的,因此我需要弄清楚如何以编程方式设置它。目前,我正在使用以下内容:

$("#myPage").live("pageshow", function () {
  var flag = "yes"
  if ((flag != null) && (flag != undefined)) {
    if (isTrackSet == "no") {
      $("#optionSlider", "#myPage").val("no");
    } else {
      $("#optionSlider", "#myPage").val("yes");
    }
  }
}

我在做什么错?

jquery-mobile
3个回答
8
投票

您需要在滑块上调用刷新:

.slider("refresh");

http://jquerymobile.com/demos/1.0a4.1/docs/forms/forms-slider.html


1
投票

这对我有用

   <select name="slider" id="stopplay" data-role="slider">
     <option value="off">Play</option>
     <option value="on" >Stop</option>
   </select>

$("#stopplay").val('on').slider("refresh");

0
投票

我尝试了许多不同的方法,但总是最终收到此错误:

无法在初始化之前在滑块上调用方法

最后我找到了这种工作方式:

  $('#member').page(); //the id of the page where the slider resides
  $('#slider').val(listsize); // setting the value from a localstorage item
  $('#slider').slider('refresh');
© www.soinside.com 2019 - 2024. All rights reserved.