我想将键值对象绑定到knockout中的选项列表
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>
我正在使用级联dropboxed所以我需要选项文本来获取下一个列表。 当我提交表格时,我想发送价值。
这是我到目前为止所做的working fiddle。
我的问题是,如果我在提交表单时没有设置optionsValue
,则参数没有任何价值。但是,如果我设置optionsValue : 'value'
,我会得到模型中的原始值,而不是我想要的ParameterOption
对象。
有没有办法将值绑定到选项并仍然将对象作为选定值返回到模型?
答案 0 :(得分:1)
您可以使用optionsAfterRender
参数设置每个选项的value
属性,在提交时为选择框提供文本值,但不会扰乱Knockout使用的对象值:
optionsAfterRender: function(option, item) { option.value = item.value }
jsFiddle:http://jsfiddle.net/7fJkh/4/