2016-01-13 71 views
0

我正在使用挖空技術構建CRUD系統,並通過AJAX獲取和保存數據。一直有問題綁定選擇下拉菜單。當我嘗試編輯的事件,我得到以下錯誤:KnockoutJS - 選擇下拉綁定不起作用

Uncaught TypeError: Cannot read property 'push' of undefined 

我創建了一個的jsfiddle http://jsfiddle.net/rqwku4kb/20/來證明這個問題。我仍在研究刪除並添加一個新的事件鏈接,所以他們還沒有工作,但我正在單獨工作。

這是目前引起我問題的代碼。

self.ShowMeTheCurrentSelectedIncident = function(data) { 
    self.currentIncident(); 
    self.chosen_composante.push([data.Composante]); 
}; 

有沒有人有任何想法,問題可能或能夠提供給我一些建議?

+2

它的代碼是不可讀的,但是如果你改成這樣會工作:'data.chosen_composante.push(data.Composante);' –

+0

看起來像我原來的jsfiddle沒有正確保存,所以它缺少一些東西。但是你的代碼行清除了錯誤。 http://jsfiddle.net/rqwku4kb/27/現在我的模態不會打開正確,所以即時通訊試圖找出現在。 –

回答

1

這裏的方法是出了什麼問題:

self.ShowMeTheCurrentSelectedIncident = function(data) { 
     self.currentIncident(); // (1) 
     self.chosen_composante.push([data.Composante]); // (2) 
    }; 

這個作用:

(1)得到的可觀察currentIncident的值,然後把它扔掉。它始終爲空,從不設置,因此這是雙重冗餘的。 (2)引用一個名爲chosen_composante的未定義變量,它不存在於IncidentList中。

我無法爲您解決這個問題,因爲我不確定哪些值會到達哪裏,但它應該足以讓您走上正確的軌道 - 您將混淆IncidentList和事件的屬性