0
我刚开始使用knockoutjs。我尝试使用knockout data-bind属性绑定select选项值,但不能将数组值作为不同的选项获取。 它将填充为昏迷分离。 我附上了我tryied的示例代码。我希望其他人也会面临同样的奇怪错误。knockoutjs select data-bind binding is given unexpected result
self.availableStates = new Array();
for (var i=0;i<self.allStates.length;i++)
{
if (self.allStates[i]['name'] != null)
self.availableStates.push(self.allStates[i]['name'])
}
self.availableStates = ko.observableArray([self.availableStates]);
期待的结果:
<select id="drpDwnLst" data-bind="options: availableStates">
<option value="">State4</option>
<option value="">State3</option>
<option value="">State2</option>
<option value="">State1</option>
</select>
实际结果
<select id="drpDwnLst" data-bind="options: availableStates">
<option value="">State4,State3,State2,State1</option>
</select>
谢谢你现在工作...你的第二点我没有得到你..? – 2013-03-25 11:26:30
在你的示例中,你定义了'self.availableStates = new Array();'然后用'self.availableStates = ko.observableArray(self.availableStates)'覆盖它。 'observableArray'还实现了大部分的数组函数,所以你可以编写例如'self.availableStates = new observableArray(); self.availableStates.push(“State1”);' – nemesv 2013-03-25 11:29:22
好吧,我会尝试你建议的方式。 :) – 2013-03-25 11:32:47