2012-02-21 18 views
0

私はJQueryモバイルアプリケーションを作成しています。このアプリケーションでは、スライダのリストを動的に構築する必要があります。私のリストを作成するたびに、従来のHTMLスタイルのドロップダウンリストだけがレンダリングされます。私は、JQueryのモバイルスライダーをレンダリングする必要があります。JQuery Mobile Sliderが正しくレンダリングされない

キャッチされない例外TypeError:オブジェクト#は方法はありません、コードが実行されると

$.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(); 
    } 

は、私が言うのJavaScriptエラーを取得する:動的にこのリストを構築するための試みで、私は次のように書いています'スライダー'

「スライダー[i] .slider();」を使用しない場合は、コードでは、従来のHTMLドロップダウンリストは、JQuery Mobileスライダの代わりにレンダリングされます。誰かが私が間違っていることを特定するのを助けることができますか?

ありがとうございました!

答えて

1

私はあなたがそのようなループのために使用したときに、新しいjQueryオブジェクトを作成する必要があると思う...

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

See this post for more info(SLaksからより具体的な答え)

あなたが得ることができる。もちろん、

実際

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

いつも小さなもの:)。ありがとう、はい、ミューズの岩。 –

0

...とにかく、すべてのループを使用せずにより、あなたはforループstatement.Youはを呼び出すことができることを必要といけませんこのステートメントを持つすべてのスライダのメソッド。

$("#personList [data-role=slider]").slider(); 
関連する問題