簡體   English   中英

淘汰表選擇數據綁定綁定得到意外結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM