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

时间:2012-07-28 15:24:08

标签: jquery-mobile

如何在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");
    }
  }
}

我做错了什么?

3 个答案:

答案 0 :(得分:8)

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

.slider("refresh");

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

答案 1 :(得分: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");

答案 2 :(得分: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');