动态列表视图与翻转开关在jquery移动显示翻转开关两次

时间:2014-01-12 16:42:29

标签: jquery listview jquery-mobile jquery-mobile-flipswitch

我使用jquery移动列表视图创建动态他的委托。
列表条目包含一个翻转切换开关,在列表视图的每个条目中。
但是出了问题,我找不到。
每个条目中总共有2个翻转切换开关,一个正在处理不通过鼠标事件采取行动的人。 这是我的代码

我有一个简短的例子 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();

这表明会发生什么 任何人都可以帮助我。

2 个答案:

答案 0 :(得分:1)

我遇到了完全相同的问题。经过几个小时的努力,我找到了解决方法。 我从entryTemplate中取出了翻转切换开关,并将其作为模板放置。我只在模板中留下了fieldcontain div,并给了它一个ID。

然后,在js-code中,我首先克隆了entryTemplate,然后克隆了翻转并将其附加到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();

我希望这会有所帮助。 我对此解决方法的任何反馈表示感谢。

答案 1 :(得分:0)

修正了它。问题是,在第7行,你有一个按钮运行.clone(),它有两个按钮。

更新了JSFiddle:http://jsfiddle.net/zSXS3/5/

相关问题