2016-06-29 17 views
0

これは世界で最も簡単なことです。ここではラインは私のViewModelにあります:非常に単純なノックアウトバインディングが選択ボックスで機能しないのはなぜですか?

self.trueOrFalse = ko.observableArray(['false', 'true']); 

そしてここでは、最初にカテゴリーを選択私は結合するが、空のドロップダウンで終わるしようとすると、フォーム...

   <form data-bind="submit: addItem"> 

        <label>Category</label><br/> 
        <div> 
         <select data-bind="options:categories, optionsText: 'Name', value: newItem.Category"></select> 
        </div><br/> 


       <div class="form-group" data-bind="with: newItem"> 
        <label>Name</label><br/> 
        <div> 
         <input type="text" class="form-control" id="inputName" data-bind="value:Name" /> 
        </div> 

        <label>Description</label><br/> 
        <div> 
         <input type="text" rows="3" class="form-control" id="inputDescription" data-bind="value:Description"/> 
        </div> 

        <label>Price</label> 
        <div> 
         <input type="number" step="any" class="form-control" id="inputPrice" data-bind="value:Price" /> 
        </div> 

        <label>Vesselizable?</label> 
        <div>        
         <select data-bind="options: trueOrFalse"></select> 
        </div> 

       </div> 
       <button type="submit" class="btn btn-default">Add</button> 
      </form> 

からデータを引っ張っているのですAPIとうまく動作します。しかし、一番下の単純なものは、ハードコードされた配列に束縛されません。

+1

ここで動作します:https://jsfiddle.net/xkfbkjxa/問題を示すために[MCVE]を作成するか、コンソールにJSエラーがないか確認してください – Jamiec

答えて

1

私はあなたのビューモデルの1行だけを表示するので、私は推測することができますが、私はエラーがコンテキストエラーであると思う... newItem observable上のtrueOrFalse observableArrayですか?

<div class="form-group" data-bind="with: newItem"> 
    ... 

    <label>Vesselizable?</label> 
    <div>        
     <select data-bind="options: trueOrFalse"></select> 
    </div> 

    ... 
</div> 

ノックアウトがあるため、あなたの結合とのnewItem上trueOrFalse列を探しJamiecが指摘したように、あなたは

<select data-bind="options: $parent.trueOrFalse"></select> 

あるいは

<select data-bind="options: $root.trueOrFalse"></select> 

にその変更をしたいことコメントを出して、コンソールを見てください。

関連する問題