Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 随时更改underline.js模板变量_Javascript_Jquery_Underscore.js - Fatal编程技术网

Javascript 随时更改underline.js模板变量

Javascript 随时更改underline.js模板变量,javascript,jquery,underscore.js,Javascript,Jquery,Underscore.js,我想更新模板变量上的值,这样,如果用户单击它,它就会更改页面上的数据 <script type="text/template" id="graph-template"> <% _.each(results, function(results) { %> <ul class="barGraph"> <li> <div class="left"><p><%= results

我想更新模板变量上的值,这样,如果用户单击它,它就会更改页面上的数据

<script type="text/template" id="graph-template">
<% _.each(results, function(results) { %>
     <ul class="barGraph">
        <li>
            <div class="left"><p><%= results.title %></p></div>
            <div class="right">

            <!-- THIS SHOULD CHANGE TO results.views if I statement is true without reloading data -->
            <span class="bar" style="width: <%= Math.floor(results.totalCount / 1000) %>%;">
                Total Views: <%= results.totalCount %>
            </span>
            <!-- THIS SHOULD CHANGE TO results.views if I statement is true -->

            </div>
        </li>
     </ul>
<% }); %>
</script>


$('input[name="views"]').change(function(e) { 
    if( $(this).val() == 'total') {
        resultsTemplating(sortByCount);
    } else {
        resultsTemplating(sortByAverage);
    }
});

  • 总视图:
$('input[name=“views”]”)。更改(函数(e){ 如果($(this).val()=='total'){ 结果模板法(sortByCount); }否则{ 结果模板法(sortByAverage); } });
在这种情况下,我会为结果集合中的每个项目添加一些ID,并通过它们更新项目。在任何更改之后,模板都应该用新数据更新并再次插入

这是一个单击
的示例,但您可以更改它

var results = [
    { id: 1, title: 'Some title', totalCount: 2},
    { id: 2 ,title: 'Another title', totalCount: 3},
    { id: 3, title: 'Another title', totalCount: 4}
];

var compiled = _.template($('#graph-template').html());
$('#app').html(compiled({results: results}));

$('body').on('click', '.js-value', function() {
    var $el = $(this);
    _.each(results, function(item) {
        if (item.id == $el.data('index')) {
            item.totalCount += +$el.attr('value');
        }
    });
    results = _.sortBy(results, 'totalCount');
    $('#app').html(compiled({results: results}));
});
看小提琴

如果您有任何问题,请随时提问,因为可能我没有正确理解您的问题