Ich habe die folgende Tabelle Vorlage, die durch Knockout wiedergegeben wird:Knockout: Wählbare Tabellenzeilen ohne Erweiterung des Modells?
<table class="gv" data-bind="visible: products().length > 0">
<thead>
<th>Type</th>
<th>Name</th>
</thead>
<tbody data-bind="foreach: products">
<tr data-bind="click: $root.selectProduct">
<td data-bind="text: type"></td>
<td data-bind="text: name"></td>
</tr>
</tbody>
</table>
Jetzt möchte ich die Zeilen klickbare machen und wollen eine CSS-Klasse zuweisen, wenn eine Zeile ausgewählt ist. Es kann immer nur 1 (!) Zeile ausgewählt werden, andere müssen deaktiviert werden.
Der einfachste Weg wäre, mein Modell (Produktklasse) um eine ausgewählte Eigenschaft zu erweitern, aber dies würde mein 1: 1-Mapping mit der Serverseite zerstören.
Wie soll ich dieses Problem lösen? Wie würden Sie damit umgehen?
Für die Vollständigkeit der Antwort würde ich gerne selectProduct definiert sehen. – TelegramSam
@TelegramSam Ein bisschen spät, aber hier ist es. – timmkrause
@jtkrause Warum ist Ihre Eigenschaft selectProduct ein observableArray und nicht nur eine Observable - ein Objekt - wenn Sie nur eine einzige Selektion zulassen? – Elisabeth