私のビューモデルは観測可能なプロパティがほとんどなく、ここで説明したカートの例のように、ドロップダウンからの値を格納するために使用しています。ko.obervableが2回更新されています
knockoutjs 'Cart editor' example questions
は、ここに私のhtml 1)各セクションのboardtest 2)選択スコアを選択します
<select data-bind="options :$parent.boardTestData,optionsText:'name', value:boardTestSelected, optionsCaption:'Select Test' "> </select>
<div data-bind="visible : boardTestSelected, foreach : boardTestSelected() ? boardTestSelected().testParts : null">
<div>
<span data-bind="text: boardTestPartName"></span>
<select data-bind="options: testPartValues, optionsText:'BoardTestPartValue',
value: $parent.testPartValueSelected> </select>
</div>
</div>
マイビューモデルと)(
$ parent.boardTestDataがobervablearrayでありタイプtestPartsの配列 とtestPartsには別の配列があります。testPartValues []
class @BoardTestData
constructor :(data) ->
@id = data.Id
@name = data.Name
@testParts = []
@testParts.push new TestParts data.Name,d for d in data.TestParts
class @TestParts
constructor:(partData) ->
@testPartValues = []
class @TestPartValues
constructor:(partValues) ->
@BoardTestPartValueId= partValues.Id
@BoardTestPartValue = partValues.Value
@boardTestSelected = ko.observable()
@testPartSelected = ko.observable()
@testPartValueSelected = ko.observable()
私はtestPartValueSelectedに加入していると、その正しい値で二回最初に実行し、その後witjヌル値であるので、私はnullに@testPartValueSelectedまたは未定義の設定のthats何かがあると思います。
- ただ一つのアイテムは、ネストされたドロップダウン
のためのforeachであった場合に、それは何とか正常に動作し、私はこれをやっている間、私が持っている他の質問は、それが選択された値をプッシュすることが可能ですドロップダウンから配列またはobersvable配列()へ?
は、この問題のためのJSフィドルを設定します。 http://jsfiddle.net/paisley/W82yE/11/
適切なjavascriptの例を教えてください。私は、そのコードが何であるか知らないが、それは私に多くのjavascriptのようには見えません:(実際にコーヒースクリプト – soniiic
その。 – Neel