我正在尝试访问选择列表中的值和文本,以便我可以存储值以在我的应用程序的另一部分中显示用户选择。
我有一个没有任何问题的绑定到对象的值,但我想知道是否可以访问text属性并将其绑定到我的对象。
我正在动态构建我对数据库中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);
理想情况下,我只想从select选项中获取文本并将其推送到knockout上下文中。这可能吗?
非常感谢
答案 0 :(得分:0)
如果您将选项绑定到一个对象数组,则可以使用所选对象填充value
,您可以访问它的文本/值,如:
this.myOptions = [
{ value: 0, text: "zero" },
{ value: 1, text: "one" }
];
然后绑定:
<select data-bind="options: myOptions, optionsText: 'text', value: mySelection"></select>
现在,mySelection
将填充一个对象,您可以访问value
和text
属性。