0

我想在淘汰赛中将键值对象绑定到选项列表

function ParameterOption(name , value) { 
    this.name = name;
    this.value = value;
}

我的选择列表

<select data-bind="
  options: Options, 
  value: SelectedValue,
  optionsText: 'name',
  attr :{'id':Id, 'name':Name}"></select>

我正在使用级联保管箱,所以我需要选项文本来获取下一个列表。当我提交表单时,我想发送值。

这是我迄今为止所做的工作。

我的问题是,如果我optionsValue在提交表单时没有设置参数没有价值。但是,如果我设置optionsValue : 'value'我会得到模型中的原始值,而不是ParameterOption我应该得到的对象。

有没有办法将值绑定到选项并仍然将对象作为选定值检索回模型?

4

1 回答 1

1

您可以使用optionsAfterRender参数设置value每个选项的属性,在提交时给选择框一个文本值,但不会打乱 Knockout 使用的对象值:

optionsAfterRender: function(option, item) { option.value = item.value }

jsfiddle:http: //jsfiddle.net/7fJkh/4/

参考: http: //knockoutjs.com/documentation/options-binding.html

于 2013-09-20T08:11:55.157 回答