尝试学习淘汰赛,并在第一次测试时感冒了。 在下面的示例中,第二个选择永远不会填充。 我可以用相同的结果改变它们。 我目前正在阅读文档,并搜索了许多没有解决方案的网站。 我必须遗漏一些东西,这是我的问题的一个简单例子。
<!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>
答案 0 :(得分:1)
与optionsText
设置一样,value
设置需要属性的名称,因此必须用引号括起来。试试这个:
<select data-bind="options: letters, value: 'letter', optionsText: 'letter'"></select>
<select data-bind="options: numbers, value: 'number', optionsText: 'number'"></select>