2012-02-14 7 views
2

削除されたコードは、属性(この場合はデータ分割アイコン)を変更できますが、更新を取得できないことを示しています。 Console.logは変更されたことを示し、クロム開発ツールの要素ビューも変更されます。Jquery-mobileの属性変更で更新しますか?

http://jsfiddle.net/mckennatim/MQ9rj/ [取得]ボタンは、プログラムで作成されたリストをシミュレートします。 「変更」ボタンは属性の変更をシミュレートします。

リフレッシュ、リストビュー、トリガー、作成、ページ作成すべての組み合わせを試します。何もjQMも子どもたちにいくつかのマークアップタグをまたがる追加したように見えます

<!DOCTYPE html> 
<html> 
<head> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="http://code.jquery.com/mobile/latest/jquery.mobile.css" /> 
     <script src="http://code.jquery.com/jquery.js"></script> 
     <script src="http://code.jquery.com/mobile/latest/jquery.mobile.js"></script> 
</head> 
<body> 
    <div id="thelists" data-role="page"> 

     <div data-role="header"> 
      <a href="#" data-icon="back" id="get" data-role="button" >get</a> 
       <h2>TestPage</h2> 
      <a href="#" data-icon="home" id="change" data-role="button">change</a> 
     </div><!-- /header -->  
     <div data-role="content"> 
      <ul id="list" class="current" data-split-icon="gear" data-role="listview" data-filter="false"></ul> 
     </div><!-- /content --> 
    </div><!-- /page --> 
<script> 
    $('#get').click(function() { 
     for (i=1; i<6; i++){ 
      $('#list').append('<li><a>list</a><a class="orig">items</a></li>'); 
     } 
     $('#list').listview('refresh'); 
     return false; 
    }); 
    $('#change').click(function() { 
     console.log($('ul').attr('data-split-icon')); 
     $('#list').attr('data-split-icon', 'info'); //jqmData doesn't work either 
     console.log($('ul').attr('data-split-icon')); 
     //$('#list').listview(); 
     //$('#list').listview('refresh'); 
     $('#thelists').trigger('create'); 
     $('#thelists').trigger('pagecreate'); 
     $('#list').listview(); 
     $('#list').listview('refresh'); 
     return false; 
    });    
</script>  
</body> 
</html> 

答えて

3

、この

JS

$('#change').click(function() { 
    console.log($('ul').attr('data-split-icon')); 
    $('#list').attr('data-split-icon', 'info'); //jqmData doesn't work either 
    console.log($('ul').attr('data-split-icon')); 
    $("[data-icon=gear]").each(function() { 
     var $this = $(this); 
     $this.attr('data-icon','info'); 
     $this.children().children().removeClass('ui-icon-gear').addClass('ui-icon-info');     
    }); 
    $('#list').listview('refresh',true); 
    return false; 
}); 
+0

ような何かをしようと働かない私が恐れていましたそれ。しかたがない。私はどの属性がこの余分なビットを必要としないのだろうか – mcktimo

関連する問題