Knockout.js中的$ index显示字母而不是数字

时间:2012-10-06 17:40:48

标签: javascript html knockout.js

我想在KnockoutJS中使用$ index来显示字母而不是数字.g,

一个。物品1
B.项目2
C. item3

我该怎么做?

2 个答案:

答案 0 :(得分:2)

如果符合您的需要,您可以使用ol list-style-type upper-alpha来执行此操作。例如:

<强> HTML:

​<ol data-bind​​​​​​​​​​​="foreach: items" class="alpha">
    <li data-bind="text: $data"></li>
</ol>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

<强> CSS:

.alpha {
    list-style-type: upper-alpha;
}​

<强> JavaScript的:

function ViewModel() {
    this.items = ko.observableArray([
        "Apples",
        "Oranges",
        "Bananas"
    ]);
}
var model = new ViewModel();

ko.applyBindings(model);​

示例: http://jsfiddle.net/andrewwhitaker/CCNtR/1/

答案 1 :(得分:1)

看看这个小提琴:http://jsfiddle.net/jearles/RhmTb/19/

关键是编写一个View Model方法将index转换为letter。

<div data-bind="foreach: names">
  <div>
    <span data-bind="text: $root.indexLetter($index())"></span>.
    <span data-bind="text: $data"></span>
  </div>      
</div>   

-

var viewModel = {
  names : ['one', 'two', 'three', 'four', 'five', 'six'],
  indexLetter : function(index) {
    return String.fromCharCode(65 + index);
  }
}

ko.applyBindings(viewModel);