0

我正在尝试访问选择列表中的值和文本,以便我可以存储值以在我的应用程序的另一部分显示用户选择。

我将值绑定到一个对象没有任何问题,但是我想知道是否可以访问 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);

理想情况下,我只想从选择选项中获取文本并将其推送到淘汰赛上下文中。这可能吗?

非常感谢

4

1 回答 1

0

如果您将选项绑定到对象数组,则value可以使用所选对象填充,您可以访问它的文本/值,如下所示:

this.myOptions = [
  { value: 0, text: "zero" },
  { value: 1, text: "one" }
];

然后像这样绑定:

<select data-bind="options: myOptions, optionsText: 'text', value: mySelection"></select>

现在,mySelection将填充一个您可以访问valuetext属性的对象。

于 2013-09-05T21:17:50.567 回答