2012-07-14 37 views
1

我想從擴展庫中使用小部件容器 - 具體而言,我想添加一個下拉節點與運行SSJS的選項。如何使用DropDown節點與小部件容器

在小部件容器中使用基本葉節點時,有兩個感興趣的選項。 「onClick」看起來完全符合我的要求。然而,代碼在創建節點時觸發 - 不僅僅是點擊時。其實它似乎一直在開火。

還有submitValue。我試着把代碼放在那裏,因爲在Ext中有一個例子。圖書館書第249頁(SafariBooksOnline版本),但我不能讓代碼來運行它似乎。

<xe:this.dropDownNodes> 
<xe:basicLeafNode label="New Category"> 
<xe:this.onClick><![CDATA[#{javascript:print("onClick Code") 
}]]></xe:this.onClick> 
<xe:this.submitValue><![CDATA[#{javascript:print("SubmitValue Code"); 
sessionScope.put("currentDoc", ""); 
viewScope.put("showSub", false) 
var c = getComponent("dynamic") 
c.show("cat")}]]></xe:this.submitValue> 
</xe:basicLeafNode> 
<xe:basicLeafNode label="Another option"></xe:basicLeafNode> 
</xe:this.dropDownNodes> 

我在做的是在這個完成調用代碼設置範圍變量,然後更新頁面上的動態控制。從理論上講,我認爲我需要進行部分刷新,但我沒有看到設置該方法的方法。

在我給出的代碼示例中 - 當點擊事件時,onClick會運行,並且具有我感興趣的代碼的submitValue似乎根本不會觸發。

任何意見,將不勝感激。 謝謝

回答

2

顯然在ApplciationLayout控件的內部,basicLeafNode的onclick方法沒有定義放置SSJS調用的地方,但實際上定義了一個運行CSJS的地方。另外,submitValue是一個放置值的地方,所以要獲得你正在尋找的行爲,應該將submitValue設置爲「NewCategoryClick」,然後在applicationLayout下定義一個eventHandler子節點,檢查提交的值是否爲「 NewCategoryClick「,然後運行您定義的SSJS代碼。

相關問題