Knockout下拉绑定和返回值

时间:2012-12-11 14:12:05

标签: knockout.js knockout-mapping-plugin knockout-2.0

我在淘汰赛中绑定选择列表

Html:

<select data-bind="options: $parent.Languages, optionsValue:function(item) { return item.Value; }, optionsText: function(item) {return item.Text; }, value: LanguageID, valueUpdate: 'change'" />

on submit ==&gt; var data = ko.mapping.toJS(viewModel1);

控制器:

Languages = new SelectList(this.Languages(), "ID", "LanguageName", SelectedLanguageID);

返回完整的对象 LanguageID =“Selected:true,ID:1,LanguageName:”English“ 但我希望它应该只返回像LanguageID = 1

这样的ID

我已经使用了subscribe方法并指定了

1 个答案:

答案 0 :(得分:5)

一些事情:

  • 确保正确打开/关闭select,如:<select></select>

  • 您只需将您想要的属性名称作为字符串传递(optionsText

  • ,即可简化optionsValue<select data-bind="options: Languages, optionsValue: 'Value', optionsText: 'Text', value: LanguageID" ></select>规范
  • 您无需在选择

  • 上使用valueUpdate

否则,它似乎正常工作。

以下是一个示例:http://jsfiddle.net/rniemeyer/dgmV6/