1

KnockoutJSで$indexを使用して、数字の代わりにアルファベットを表示したい。例:

A. item1
B. item2
C. item3

これどうやってするの??

4

2 に答える 2

2

ニーズに合っている場合olは、list-style-typeofを使用してこれを行うことができます。upper-alpha例えば:

HTML:

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

CSS: </p>

.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/

于 2012-10-06T18:09:21.730 に答える
1

このフィドルを見てください:http://jsfiddle.net/jearles/RhmTb/19/

重要なのは、インデックスを文字に変換するためのビューモデルメソッドを作成することです。

<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);
于 2012-10-06T18:11:24.520 に答える