在Mustache.js模板中使用时,Rateit插件无法正常工作

时间:2014-06-20 07:27:20

标签: javascript jquery jquery-mobile jquery-plugins mustache

我在 Mustache.js模板中使用 RateIt Pugin ,但它没有显示任何内容。

当我在HTML中直接使用它时,它的工作正常

下面的

是我的小胡子模板

<script id="category_list" type="text/template">
  <li> Rate {{movie_name}}:
      <div  class="rateit">
      </div>
  </li> 
</script>

以下是获取模板并将其添加到主页

的JS代码
 var data={
            movie_name:'some movie'
        };
$.get('js/temp.html', function(template, textStatus, jqXhr) {
    var menu_list=Mustache.render($(template).filter('#category_list').html(), data);
    $('#movie_details_list').empty().append(menu_list);
    $.mobile.changePage( '#movie_details_page', { transition: "slide", changeHash: false });
});

这是我的HTML

<div data-role="page" id="home">
    <div data-role="content">
      <ul data-role="listview" id="movie_details_list" >
      </ul>
    </div>
  </div>

1 个答案:

答案 0 :(得分:1)

加载模板后,您必须触发rateit()。我没有理解你的result/template逻辑并做了一些调整:

var template = $('#category_list').html();
Mustache.parse(template);
var data={
   movie_name:'Stack in the Galaxy'
};
$.get('temp.html', function( result, textStatus, jqXhr ) {
    var rendered = Mustache.render( template, data );
    $('#target').html( result );
    $('#movie_details_list').append( rendered );
    $('div.rateit, span.rateit').rateit(); // <-- start up RateIt
});