2014-01-12 43 views
0

我使用jQuery的移動列表視圖創建動態他的entrys。
列表條目在列表視圖的每個條目中都包含一個輕觸切換開關。
但是我找不到錯誤。
在每個條目中都有一個總是2個翻轉切換開關,一個正在工作的人不會通過鼠標事件採取行動。 這裏我的代碼
動態列表查看與jQuery手機翻轉開關翻轉開關兩次

我已經將 http://jsfiddle.net/joergtiedemann/zSXS3/3/

JS很短的例子:

function Update() { 
    $('#functionlist ul li').remove(); 
    var newListTitle = $('#titleTemplate').clone(); 
    newListTitle.appendTo('#functionlist ul'); 
    var newEntryRow = $('#entryTemplate').clone(); 
    newEntryRow.appendTo('#functionlist ul'); 
    $('#flip-1').slider('refresh'); 
    $("#functionlist").trigger('create'); 
    $("#functionlist").listview('refresh'); 
}; 

Update(); 

這說明發生了什麼 誰能幫我請。

+0

你想要兩個,還是隻想要一個? – mjkaufer

+0

我只想要一個當然 – user3187072

+0

[如何在jQuery移動1.3.2中克隆選擇和範圍輸入](http://stackoverflow.com/questions/20625382/how-to-clone-select-and-range -inputs-in-jquery-mobile-1-3-2) – Omar

回答

1

我有完全相同的問題。掙扎了幾個小時之後,我發現了一個解決方法。 我將flip開關從entryTemplate中取出,並將其放置爲模板。我只在模板中留下了fieldcontain div,並給了它一個ID。

然後,在js代碼中,我首先克隆了entryTemplate,然後克隆了flip並將其添加到fieldcontain。

你可以看到更新jfiddle這裏:http://jsfiddle.net/zSXS3/32/

function Update() { 
    $('#functionlist ul li').remove(); 

    var newListTitle = $('#titleTemplate').clone(); 
     newListTitle.appendTo('#functionlist ul'); 

     var newEntryRow = $('#entryTemplate').clone(); 

     var flipLabel = $('#labelflipTemp').clone(); 
     flipLabel.attr('for', "flip-1"); 
     var flip = $('#flipTemplate').clone(); 
       flip.attr('id', "flip-1"); 

     flipLabel.appendTo(newEntryRow.find('#flipsw-container')); 
     flip.appendTo(newEntryRow.find('#flipsw-container')); 

     newEntryRow.appendTo('#functionlist ul'); 

    $("select").slider(); 
    $("#functionlist").trigger('create'); 
    $("#functionlist").listview('refresh'); 
}; 
Update(); 

我希望這有助於。 我很感激任何反饋給此解決方法。