アプリケーションの別の部分でユーザーの選択を表示する値を保存できるように、選択リスト内の値とテキストの両方にアクセスしようとしています。
問題なくオブジェクトに値をバインドしていますが、テキスト属性にアクセスしてそれをオブジェクトにもバインドできるかどうか疑問に思っていました。
フォームの質問をレンダリングするデータベースのjsonオブジェクトからドロップダウンの回答を動的に作成しています(1つまたは複数の場合があります)。
質問に対する私のバインディングは次のようになります。
<div data-bind="text: QuestionText" class="caf-question sub-unit-1-bottom"></div>
<select class="inline" data-bind="value: SelectedComparisonOperator">
<option value="0">Equal to</option>
<option value="1">Not equal to</option>
</select>
<select data-bind="foreach: Answers, visible: Answers.length > 0, value: SelectedAnswerOption" class="caf-answers">
<option class="caf-answer" data-bind="text: AnswerText, value: AnswerId, css: {'caf-header': IsHeader == true}"></option>
</select>
これらのアイテムをノックアウト コンテキストにプッシュするときは、次のように入力します。
QuestionId: 2
QuestionText: "Site"
SelectedAnswerOption: 23
SelectedAnswerOptionText: null
SelectedComparisonOperator: "0"
値は、以下を使用してオブジェクトにプッシュされます。
var clinicalAnswerItem = {
QuestionId: item.QuestionId,
QuestionText: item.QuestionText,
SelectedAnswerOption: item.SelectedAnswerOption,
SelectedAnswerOptionText: "Need to populate this somehow",
SelectedComparisonOperator: parseInt(item.SelectedComparisonOperator)
}
viewModel.clinicalAnswers.push(clinicalAnswerItem);
理想的には、選択オプションからテキストを取得し、それをノックアウト コンテキストにプッシュしたいと考えています。これは可能ですか?
どうもありがとう