的傳球選擇,我有兩個JQuery的小窗口,是一種「主要」窗口小部件,另外,可以考慮一個孩子。孩子處理收集主要要求的特定數據。主要用於AJAX請求。所以,主要有一組發送到服務器的選項。其中一種選擇也是孩子的選擇。JQuery的小工具 - 通過參考
爲了使這更清楚,我有有幾個選項的主要部件。然後它創建並附加一個子部件。這個子部件有一個額外的選項,需要在發送AJAX請求之前填充到主部件中。爲了使這項工作,我傳遞給孩子:this.options.someArray
這工作正常,但是,當對子部件中的數組進行更改時,他們永遠不會回到主部件。這意味着AJAX請求在這個地方發送一個空數組。我怎樣才能解決這個問題?
[如果這不是標準的行爲 - 我可以張貼代碼示例]主控件
代碼示例:
$.widget('be.deckEditor', {
options: {
deck: { name: "", id: 0, cards: [], tags: [] }
},
代碼來創建子控件:
tagEditBox = $('<div>');
tagEditBox.tagEditor({tags:this.options.deck.tags});
的Widget _Init代碼:
_init: function() {
this.options.tags = ['ace','two'];
},
你應該張貼的代碼,因爲共享引用數組是共享引用數組:-)如果引用似乎並沒有被共享,然後在東西你的代碼做一些喜歡做數組的副本; JavaScript本身不會這樣做。 – Pointy 2011-04-03 19:02:51
包括什麼應該是相關的位。 – Serodis 2011-04-03 19:17:28