【问题标题】:Binding the value and text to object model from select dropdown从选择下拉列表中将值和文本绑定到对象模型
【发布时间】:2013-09-09 19:58:07
【问题描述】:

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

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

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

非常感谢

【问题讨论】:

    标签: javascript jquery knockout.js


    【解决方案1】:

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

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

    然后像这样绑定:

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

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

    【讨论】:

      猜你喜欢
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多