2014-09-30 37 views
0

我遇到教程部分:http://learn.ractivejs.org/list-sections/5/按类型排序在ractive

与选择和排序尝试。

Ractive模板

<th class='sortable {{ sortColumn === type ? "sorted" : "" }}' on-tap='sort:type'> 
    <div class="industry select"> 
     <select> 
     {{#each type}} 
      <option> {{this}} </option> 
     {{/each}} 
     </select> 
    </div> 
</th> 

HTML

<div data-list></div> 

Ractive脚本

var type = ['Cat', 'Dog', 'Hamster']; 
var ractive = new Ractive({ 
    el: document.querySelector('[data-list]'), 
    template: '#list-container', 
    data: { 
    type: type, 
    sort: function (array, column) { 

      return array.sort(function (a, b) { 
      return a[ column ] - b[ column ]; 
    }); 
    }, 
    sortColumn: 'type' 
    } 
}) 

希望能够选择任何类型,然后它按类型,说猫;它会列出猫和名单与狗和仓鼠。

任何有识之士/帮助拉罗赞赏!

更新

JSFIDDLE DEMO

目前,它不因为动物实验和排序是不正确的,我认为

回答

0

它看起来像你需要设置双向<select>元素结合,以便Ractive知道sortColumn的值应为:

<select value='{{sortColumn}}'> 
    {{#each type}} 
    <option>{{this}}</option> 
    {{/each}} 
</select> 
+0

似乎没有做任何事情......可能{{sortColumn ===类型? “sorted”:“”}}是不正确的? – joe 2014-10-01 02:36:48

+0

在你的例子中,'type'是一个数组,所以这肯定不起作用。你可以发布一些示例数据和完整的模板(理想情况下在JSFiddle中,因此很容易调试和分叉 - [这里是模板](http://jsfiddle.net/rich_harris/va6jU/))?如果没有这些,很难理解 – 2014-10-01 03:09:00

+0

我在上面做了jsfiddle,但结果仍然相同 - 动物不能排序,如果选择猫,它会显示所有的猫和其他猫只在猫后排队。是否有解决方法? – joe 2014-10-01 15:07:10