[英]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>
您在輸出中看到的是在數組上調用toString()
的效果。
之所以會得到這個結果,是因為您的availableStates
已經是一個數組,因此您無需再次使用[]
將其包裝到一個數組中
所以你只需要寫:
self.availableStates = ko.observableArray(self.availableStates);
雖然很奇怪您如何覆蓋self.availableStates
定義...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.