Javascript 淘汰赛->;将元素绑定到Select的值
在下面的Javascript 淘汰赛->;将元素绑定到Select的值,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,在下面的select中,我绑定了一个可观察数组 <select id="selectProtocols" data-bind="options: optionsAvailable, optionsCaption:'Selecione...', optionsText: 'SimpleDescription', optionsValue:'???'"></select> 我相信很容易看到每个选项的文本都是一个属性“SimpleDescription”,这很好用。我现在
select
中,我绑定了一个可观察数组
<select id="selectProtocols" data-bind="options: optionsAvailable, optionsCaption:'Selecione...', optionsText: 'SimpleDescription', optionsValue:'???'"></select>
我相信很容易看到每个选项的文本都是一个属性“SimpleDescription”,这很好用。我现在需要的是select
的值是元素本身
我该怎么做
注2:使用下拉列表(即
元素)
Knockout特别支持下拉列表(即
元素)。值绑定与选项一起工作
绑定以允许您读取和写入任意JavaScript值
对象,而不仅仅是字符串值。这是非常有用的,如果你想
让用户从一组模型对象中进行选择。例如,,
请参阅选项绑定或有关处理多选列表的信息,请参阅
所选选项绑定的文档
注2:使用下拉列表(即
元素)
Knockout特别支持下拉列表(即
元素)。值绑定与选项一起工作
绑定以允许您读取和写入任意JavaScript值
对象,而不仅仅是字符串值。这是非常有用的,如果你想
让用户从一组模型对象中进行选择。例如,,
请参阅选项绑定或有关处理多选列表的信息,请参阅
所选选项绑定的文档
注2:使用下拉列表(即
元素)
Knockout特别支持下拉列表(即
元素)。值绑定与选项一起工作
绑定以允许您读取和写入任意JavaScript值
对象,而不仅仅是字符串值。这是非常有用的,如果你想
让用户从一组模型对象中进行选择。例如,,
请参阅选项绑定或有关处理多选列表的信息,请参阅
所选选项绑定的文档
注2:使用下拉列表(即
元素)
Knockout特别支持下拉列表(即
元素)。值绑定与选项一起工作
绑定以允许您读取和写入任意JavaScript值
对象,而不仅仅是字符串值。这是非常有用的,如果你想
让用户从一组模型对象中进行选择。例如,,
请参阅选项绑定或有关处理多选列表的信息,请参阅
所选选项绑定的文档
只需不设置选项值
属性,Knockout将自动将observable array
中选定的对象存储到您在值
属性中声明的observable中
敲除器的内部深处具有以下功能:
function applyToObject(object, predicate, defaultValue) {
var predicateType = typeof predicate;
if (predicateType == "function") // Given a function; run it against the data value
return predicate(object);
else if (predicateType == "string") // Given a string; treat it as a property name on the data value
return object[predicate];
else // Given no optionsText arg; use the data value itself
return defaultValue;
}
如果不设置optionsValue
属性,则此函数将落入底部的else
语句中,该语句将返回当前数组项。只需不设置optionsValue
属性,Knockout将自动将observableArray
中的选定对象存储到您在值属性中声明的可观察值
敲除器的内部深处具有以下功能:
function applyToObject(object, predicate, defaultValue) {
var predicateType = typeof predicate;
if (predicateType == "function") // Given a function; run it against the data value
return predicate(object);
else if (predicateType == "string") // Given a string; treat it as a property name on the data value
return object[predicate];
else // Given no optionsText arg; use the data value itself
return defaultValue;
}
如果不设置optionsValue
属性,则此函数将落入底部的else
语句中,该语句将返回当前数组项。只需不设置optionsValue
属性,Knockout将自动将observableArray
中的选定对象存储到您在值属性中声明的可观察值
敲除器的内部深处具有以下功能:
function applyToObject(object, predicate, defaultValue) {
var predicateType = typeof predicate;
if (predicateType == "function") // Given a function; run it against the data value
return predicate(object);
else if (predicateType == "string") // Given a string; treat it as a property name on the data value
return object[predicate];
else // Given no optionsText arg; use the data value itself
return defaultValue;
}
如果不设置optionsValue
属性,则此函数将落入底部的else
语句中,该语句将返回当前数组项。只需不设置optionsValue
属性,Knockout将自动将observableArray
中的选定对象存储到您在值属性中声明的可观察值
敲除器的内部深处具有以下功能:
function applyToObject(object, predicate, defaultValue) {
var predicateType = typeof predicate;
if (predicateType == "function") // Given a function; run it against the data value
return predicate(object);
else if (predicateType == "string") // Given a string; treat it as a property name on the data value
return object[predicate];
else // Given no optionsText arg; use the data value itself
return defaultValue;
}
如果未设置optionsValue
属性,则此函数将落入底部的else
语句中,该语句将返回当前数组项。将$data
赋值给optionsValue
在这里没有意义,您必须阅读optionsValue
的功能[1]。它基本上只是设置
下的
元素的值。因此,您不能将其设置为正在选择的JS对象,只能将其设置为文本
<select data-bind="
options: optionsAvailable,
optionsCaption: 'Selecione...',
optionsText: 'SimpleDescription',
optionsValue: 'SomeOtherPropertyThatEvaluatesToText',
value: selectedOption"></select>
这里有一个小提琴示例:
[1] 将$data
分配给选项value
在这里没有意义,您必须阅读选项value
的作用[1]。它基本上只是设置
下的
元素的值。因此,您不能将其设置为正在选择的JS对象,只能将其设置为文本
<select data-bind="
options: optionsAvailable,
optionsCaption: 'Selecione...',
optionsText: 'SimpleDescription',
optionsValue: 'SomeOtherPropertyThatEvaluatesToText',
value: selectedOption"></select>
这里有一个小提琴示例:
[1] 将$data
分配给选项value
在这里没有意义,您必须阅读选项value
的作用[1]。它基本上只是设置
下的
元素的值。因此,您不能将其设置为正在选择的JS对象,只能将其设置为文本
<select data-bind="
options: optionsAvailable,
optionsCaption: 'Selecione...',
optionsText: 'SimpleDescription',
optionsValue: 'SomeOtherPropertyThatEvaluatesToText',
value: selectedOption"></select>
这里有一个小提琴示例:
[1] 将$data
分配给选项value
在这里没有意义,您必须阅读选项value
的作用[1]。它基本上只是设置
下的
元素的值。所以你不能这么做