xp:按钮上的计算styleClass似乎无法正常工作

时间:2016-02-16 18:02:44

标签: twitter-bootstrap xpages

我正在尝试将按钮上的styleClass计算为BootStrap按钮格式,但是计算。该按钮始终显示为btn-warning,并且不会在该btn-success之间切换。我有相同的代码

<xp:button value="History" id="button1">
<xp:this.styleClass><![CDATA[#{javascript:var key:String = compositeData.linkKey;
if (viewScope.vsShowHistory == key){
    return "btn btn-warning btn-sm"
}else{
    return "btn btn-success btn-sm"
}}]]>
                                            </xp:this.styleClass>
<xp:span>
<xp:this.styleClass><![CDATA[#{javascript:var key:String = compositeData.linkKey;
if (viewScope.vsShowHistory == key){
    return "glyphicon glyphicon-minus-sign";
}else{
    return "glyphicon glyphicon-plus-sign";
}}]]></xp:this.styleClass>
</xp:span>

<xp:eventHandler
    event="onclick" submit="true" refreshMode="partial"
    refreshId="panelHistory">
<xp:this.action><![CDATA[#{javascript:var key:String = compositeData.linkKey;
if (viewScope.vsShowHistory == key){
    viewScope.remove("vsShowHistory");
    sessionScope.remove("ssShowHistory");
}else{
    viewScope.vsShowHistory = key;
    sessionScope.ssShowHistory = key;
}}]]></xp:this.action>
</xp:eventHandler>
</xp:button>

3 个答案:

答案 0 :(得分:1)

由于用于向每个按钮控件添加样式类的模式,我怀疑问题出在Bootstrap主题中。您可以在Mark Leusink的博客文章中阅读更多相关信息,他还添加了建议的解决方法:http://linqed.eu/2014/08/28/xpages-gotcha-modeconcat-in-your-themes/

此处还有一个更简单的解决方法:Change style class by changing scoped variable value

这可能是我们需要在ExtLib中修复的内容。

答案 1 :(得分:0)

比尔, 您好像错过了一些问题/信息?它似乎停止了。

我认为这不可靠:

g++ (GCC) 2.9.3

我不确定数据键是什么,但由于它是一个字符串,您可能需要更多类似的内容: viewScope.vsShowHistory.equals(key)的

我认为他们这样做的方式是比较OBJECTS而不是VALUES。

答案 2 :(得分:0)

我们在Notes / Domino 8.5.3中对计算按钮样式表有同样的问题。更改为div或span帮助。从按钮样式中调用它们时,看起来Viewcope变量始终为null。完全相同的代码只需将按钮标记更改为div ..

即可