Knockout-Modell erstellen und dynamisch anzeigen, Optionsfelder werden nicht festgelegt

Ich bin gerade dabei, eines zu machenmeine vorherigen Fragen Völlig dynamisch, da das Modell aus Serverdaten erstellt wird und die Ansicht das Ansichtsmodell über das Knockout durchläuftko foreach Funktionalität.

Die Probleme, mit denen ich konfrontiert bin, sind:

Die Funkoptionen bleiben nicht bei dem eingestellten Wert, d. H. Ich klicke auf das Betriebssystem und wähle dann eine Datenbankoption aus, und dann verschwindet die Betriebssystemeinstellung.

Bei den abhängigen Optionen (in diesem Fall Datenbank und Clustering) ist die anfängliche Auswahl nicht ausgewählt, wenn sich die abhängige Option ändert (d. H., Wenn sich das Betriebssystem ändert, sollte die Datenbank zur ersten Option zurückkehren, keine).

Meine Geige ist hier und ich denke, das Problem hängt entweder mit dem folgenden Code zusammen:

 computedOptions.subscribe(function () {
                    var section = this;
                    console.log("my object: %o", section);   
                    section.selection(section.options()[0].sku);
                },section);

Oder meine Sicht Bindungen:

<!-- ko foreach: selectedOptions -->
    <h3><span data-bind="text: description"></span></h3>
    <table class="table table-striped table-condensed">
        <thead>
            <tr>
                <th colspan="2" style="text-align: left;">Description</th>
                <th>Price</th>
            </tr>
        </thead>
        <tbody>
            <!-- ko foreach: options -->
            <tr>
                <td><input type="radio" name="$parent.name" data-bind="checkedValue: $data, checked: $parent.selection" /></td>
                <td style="text-align: left;"><span data-bind="text: name"></span></td>
                <td style="text-align: left;"><span data-bind="text: price"></span></td>
            </tr>
            <!-- /ko -->
        </tbody>
    </table>
<!-- /ko -->

Ich bin mir nicht sicher, welche und würde frische Augen schätzen, wenn mein Gehirn von der Jsfiddle-Sitzung schmerzt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage