Knockout下拉绑定和返回值

Imr*_*hid 0 knockout-mapping-plugin knockout-2.0 knockout.js

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

HTML:

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

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

控制器:

Languages = new SelectList(this.Languages(), "ID", "LanguageName", SelectedLanguageID);
Run Code Online (Sandbox Code Playgroud)

它返回LanguageID ="Selected:true,ID:1,LanguageName:"English"中的完整对象,但我希望它只返回类似于LanguageID = 1的ID

我已经使用了subscribe方法并分配了

RP *_*yer 5

一些东西:

  • 确保正确打开/关闭你的select喜欢: <select></select>

  • 您可以简化optionsTextoptionsValue通过刚好路过你想要的属性名称作为字符串规范(<select data-bind="options: Languages, optionsValue: 'Value', optionsText: 'Text', value: LanguageID" ></select>)

  • 您不需要valueUpdate在选择上使用

否则,似乎工作正常.

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