2014-08-29 4 views

ответ

3

Использование хе: POPUPMENU из библиотеки

расширения и этой функции в клиенте Javascript на кнопку

XSP.openMenu(thisEvent,#{javascript:getComponent('popupMenu1').getMenuCtor()}) 

где popupMenu1 это имя из xe: popupMenu

Это рабочий экзамен e для всплывающего меню, когда вы нажимаете кнопку.

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
    xmlns:xe="http://www.ibm.com/xsp/coreex"> 

    <xe:popupMenu id="popupMenu1"> 
     <xe:this.treeNodes> 
      <xe:basicLeafNode label="Entry 1" submitValue="Entry1"></xe:basicLeafNode> 
      <xe:basicLeafNode label="Entry2" submitValue="Entry2"></xe:basicLeafNode> 
     </xe:this.treeNodes> 
     <xp:eventHandler event="onItemClick" submit="true" 
      refreshMode="partial" refreshId="computedField1"> 
      <xe:this.action><![CDATA[#{javascript:var computedField1:com.ibm.xsp.component.xp.XspOutputText = getComponent("computedField1"); 
var popupMenu1:com.ibm.xsp.extlib.component.outline.UIOutlinePopupMenu = getComponent("popupMenu1"); 
viewScope.Clicked=context.getSubmittedValue() 
}]]></xe:this.action> 
     </xp:eventHandler></xe:popupMenu> 
    <xp:button value="Click me" id="button1"> 
     <xp:eventHandler event="onclick" submit="false"> 
      <xp:this.script><![CDATA[XSP.openMenu(thisEvent,#{javascript:getComponent('popupMenu1').getMenuCtor()})]]></xp:this.script> 
     </xp:eventHandler></xp:button> 
    &#160; 
    <xp:text escape="true" id="computedField1" value="#{viewScope.Clicked}"></xp:text></xp:view> 
+0

Это не работает для меня. –

+0

сделал мой пример работы, пожалуйста, отметьте ответ как хорошо, и этот вопрос был разрешен –