2014-10-01 154 views
0

试图学习淘汰赛,并与我的第一次测试停止感冒。 在下面的例子中,第二个选择从不填充。 我可以用相同的结果来改变它们。 我目前正在阅读文档,并搜索了一些没有解决方案的网站。 我一定错过了一些东西,这里是我的问题的一个简单例子。基因敲除multilpe阵列不填充

<!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

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

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

这工作!感谢您的时间和努力!仍然不确定为什么它首先填充,它应该没有填充任何东西? – 2014-10-01 16:56:57