У меня есть выпадающее меню. Я хочу использовать область, в которой пользователь хочет работать (да, я в Канаде!).XPages ApplicationLayout: получить выбранное значение выпадающего элемента в BannerLinks
Мне сложно определить, как получить значение, которое было нажато, так как я хочу поместить это значение в переменную области сеанса.
Код для ниспадающего построен таким образом на данный момент:
<xe:this.bannerUtilityLinks>
<xe:basicContainerNode
submitValue="provinceSwitch">
<xe:this.children>
<xe:basicLeafNode label="Québec"></xe:basicLeafNode>
<xe:basicLeafNode label="Ontario"
submitValue="Ontario">
</xe:basicLeafNode>
<xe:basicLeafNode label="Maritimes"
submitValue="Maritimes">
</xe:basicLeafNode>
<xe:basicLeafNode label="West"
submitValue="West">
</xe:basicLeafNode>
</xe:this.children>
<xe:this.label><![CDATA[#{javascript:if(!!sessionScope.province) {
sessionScope.province;
} else {
"Province";
}}]]></xe:this.label>
</xe:basicContainerNode>
<xe:basicLeafNode submitValue="langSwitch"
styleClass="lotusFirst">
<xe:this.label>
<![CDATA[#{javascript:if(!!sessionScope.lang) {
if(sessionScope.lang=="FR") {
return "English";
} else {
return "Français";
}
} else {
return "English";
}}]]>
</xe:this.label>
</xe:basicLeafNode>
<xe:this.bannerUtilityLinks>
Я уже определил EventHandler, используемый для выбора языка:
<xp:eventHandler event="onItemClick" submit="false"
refreshMode="partial" refreshId="PanelAll">
<xe:this.action><![CDATA[#{javascript:var submittedValue=context.getSubmittedValue();
if(submittedValue=="langSwitch") {
if(!!sessionScope.lang) {
if(sessionScope.lang=="FR") {
sessionScope.lang = "EN";
} else {
sessionScope.lang = "FR";
}
} else {
//since the default is FR, the first time it is clicked means we want to go to English
sessionScope.lang = "EN";
}
return;
}}]]>
</xe:this.action>
</xp:eventHandler>
Как я могу получить выбранное значение позиции из раскрывающегося списка и действовать на него? Мне нужно установить переменную области сеанса и выполнить полное (или частичное) обновление.
Спасибо :)
Привет, Бен, мы расскажем об этом в Rapid XPages Dev, который вы получили от TLCC. См. Событие onItemClick. Это в уроке Design Layout Design Framework в Модуле 7. Вам нужно добавить код в свой onItemClick, который у вас уже есть, поскольку это одно событие делает все события onclick для макета приложения. Howard, – Howard
Говард, я совсем забыл, что у меня это было !!! У меня не было много времени, чтобы пройти курс, так как мой проект начался намного раньше, чем ожидалось. Информация действительно там и весьма полезна. Думаю, я потрачу время, чтобы пройти через оставшуюся часть в течение ближайших нескольких дней. ;) –