Ich habe ein select
Element gebunden mit ko und es zeigt Daten perfekt.Erhalten Wert von wählen in Knockout
<select name="assetTypeID"
class="form-control"
id="assetTypeID"
data-bind="options: $root.personalassettype_dd,
optionsValue: 'id',
optionsText: 'text',
optionsIncludeDestroyed: true,
value:typeid">
</select>
Ich möchte den ausgewählten Wert dieses Dropdown in einer Spanne anzeigen. Was ich versuche, ist:
<span id="spnassetTypeID" data-bind="text: $root.personalassettype_dd.text"></span>
Haben durch this Stack Overflow question gegangen, aber das hat nicht funktioniert, irgendwelche Ideen?
Ich bin der Antwort jetzt sehr nahe. Wenn ich schreibe:
<span id="spnassetTypeID" data-bind="text: $root.personalassettype_dd()[0].text"></span>
funktioniert es für mich bei zeigt den Wert des Elements an der 0. Index wie es harcoded wird.
Aber wenn ich versuche, schreibe dies:
<span id="spnassetTypeID" data-bind="text: $root.personalassettype_dd()[typeid].text"></span>
Es gibt mir diese Fehlermeldung:
Unable to parse bindings.
Message: TypeError: Unable to get property 'text' of undefined or null reference;
Bindings value: text: $root.personalassettype_dd()[typeid].....
So bedeutet es, dass irgendwie ist es nicht ‚typeid
‘ bekommen, wenn ich es anstelle von Array war Index.
Hinweis: Ich habe auch versucht, Typid in Anführungszeichen übergeben, aber das hat nicht funktioniert.
Haben Sie [diese Antwort unten] (http://stackoverflow.com/a/38651148/419956) schon überprüft? Es ist die richtige Lösung IMO. Du könntest diesen zweiten Ansatz zum Laufen bringen, wenn du dich wirklich anstrengst, aber das bedeutet, dass du gegen KO kämpfst und es nicht zu deinem Vorteil nutzt. – Jeroen
Ich habe das versucht, aber es hat nicht funktioniert. Es entfernt auch die "Werte" aus den Optionen, die ich für eine andere Funktionalität benötige. – sam
Dann würde es helfen, den Code Ihrer Frage in ein [mcve] zu ändern, das für Ihre Situation repräsentativ ist. Wenn Sie uns nicht sagen, können wir nicht wissen, was Sie brauchen, und * soweit der aktuelle Code * betroffen ist @ Adrian's Antwort ist wahrscheinlich die beste Lösung. – Jeroen