2012-08-07 3 views
0

다음 스 니펫 - 빈 목록 상자가 나타납니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까? Knockoutjs ObservableArray

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

작품

는 jsFiddle입니다 -하지 브라우저 (들) 당신은 당신의 DOM이 준비 후 ko.applyBindings를 호출 할 필요가

답변

3

에. 스크립트 블록을 페이지의 맨 아래로 이동하거나 jQuery의 ready 함수와 같이 호출하여이를 수행 할 수 있습니다.

기본적으로 jsFiddle은 js 코드 "onload"를 실행하므로 요소가 있으면 발생합니다.