淘汰多个阵列没有填充

时间:2014-10-01 16:16:17

标签: knockout.js

尝试学习淘汰赛,并在第一次测试时感冒了。 在下面的示例中,第二个选择永远不会填充。 我可以用相同的结果改变它们。 我目前正在阅读文档,并搜索了许多没有解决方案的网站。 我必须遗漏一些东西,这是我的问题的一个简单例子。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="../knockout.js"></script> 
<script type="text/javascript" src="../jquery.js"></script>
</head>

<body>
<select data-bind="options: letters, value: letter, optionsText: 'letter'"></select>
<select data-bind="options: numbers, value: number, optionsText: 'number'"></select>  

<script type="text/javascript">

function testViewModel() {

var self = this;
self.letters = [
    { letter: "A" }, { letter: "B"}, { letter: "C"}, { letter: "D" }, { letter: "E"}, 
    { letter: "F"}, { letter: "G"}];

self.numbers =  [
    { number: "1" }, { number: "2"}, { number: "3"}, { number: "4" }, { number: "5"}, 
    { number: "6"}, { number: "7"}];

}

$(document).ready(function(){
ko.applyBindings(new testViewModel());
});

</script>
</body>

</html>

1 个答案:

答案 0 :(得分:1)

optionsText设置一样,value设置需要属性的名称,因此必须用引号括起来。试试这个:

<select data-bind="options: letters, value: 'letter', optionsText: 'letter'"></select>
<select data-bind="options: numbers, value: 'number', optionsText: 'number'"></select>