JQuery移动滑块赢得';渲染不好

JQuery移动滑块赢得';渲染不好,jquery,jquery-mobile,Jquery,Jquery Mobile,我正在编写一个JQuery移动应用程序。在这个应用程序中,我需要动态构建一个滑块列表。但是,每当我构建列表时,只呈现传统HTML样式的下拉列表。我希望呈现JQuery移动滑块。为了动态构建此列表,我编写了以下内容: $.each(result.Results, function (i, r) { var s = "<li><div data-role='fieldcontain'><label for='person" + i + "'>" + r

我正在编写一个JQuery移动应用程序。在这个应用程序中,我需要动态构建一个滑块列表。但是,每当我构建列表时,只呈现传统HTML样式的下拉列表。我希望呈现JQuery移动滑块。为了动态构建此列表,我编写了以下内容:

  $.each(result.Results, function (i, r) {
    var s = "<li><div data-role='fieldcontain'><label for='person" + i + "'>" + r.FullName + "</label>";
    s += "<select name='person" + i + "' id='person" + i + "' data-role='slider'>";
    s += "<option value='false' selected='selected'>No</option><option value='true'>Yes</option>";
    s += "</select></div></li>";

    $("#personList").append(s);
  });
  $("#personList").listview("refresh");

  var sliders = $("#personList [data-role=slider]");
  for (var i = 0; i < sliders.length; i++) {
    sliders[i].slider();
  }
$。每个(结果、结果、函数(i、r){
var s=“
  • ”+r.FullName+”; s+=”; s+=“否”; s+=“
  • ”; $(“#个人列表”)。追加; }); $(“#个人列表”).listview(“刷新”); var sliders=$(“#personList[data role=slider]”); 对于(变量i=0;i
    当代码执行时,我得到一个JavaScript错误,它说:

    未捕获的TypeError:对象#没有方法“slider”

    如果我不使用“sliders[I].slider();”代码,则仍会呈现传统的HTML下拉列表,而不是JQuery Mobile slider。有人能帮我找出我做错了什么吗


    谢谢大家!

    我认为在这样的for循环中使用时,需要创建一个新的JQuery对象

      var sliders = $("#personList [data-role=slider]");
      for (var i = 0; i < sliders.length; i++) {
        $(sliders[i]).slider();
      }
    

    实际上,对于
    循环语句,您不需要该

    $("#personList [data-role=slider]").slider();
    

    总是小事情:)。谢谢,是的,缪斯·洛克。
    $("#personList [data-role=slider]").slider();