0

次のスニペット-結果は空のリストボックスになります。誰かが私に何が間違っているのか教えてもらえますか?

<script src="/Scripts/knockout-2.1.0.debug.js"></script>
<script type="text/javascript">
var listEditorVM = function () {
    this.allItems = ko.observableArray(["Apple", "Banana", "Orange"]);
    alert(this.allItems().length);
};
ko.applyBindings(new listEditorVM());

</script>

<div>List items:</div>
<select multiple="multiple" data-bind="options: allItems"></select>

WorksはjsFiddleです-ブラウザにはありません

4

1 に答える 1

3

ko.applyBindingsDOMの準備ができたら呼び出す必要があります。これを行うには、そのスクリプトブロックをページの下部に移動するか、jQueryのready関数などで呼び出します。

デフォルトでは、jsFiddleはjsコードを「onload」で実行するため、要素がそこにある後に実行されます。

于 2012-08-07T13:48:29.893 に答える