Javascript 通过更改作用域变量值来更改样式类

Javascript 通过更改作用域变量值来更改样式类,javascript,css,xpages,Javascript,Css,Xpages,我在xpages div中有一个按钮,我正试图基于一个作用域变量计算该按钮的样式类 最初,作用域变量的值为“蓝色”,div内按钮的背景色也为蓝色 当我单击第二个按钮时,我将作用域变量的值设置为“绿色”,并对div进行部分刷新 现在,我希望按钮变为绿色,但是类没有被改变 以下是用于计算样式类的SSJ: if(sessionScope.sTest == 'green'){ return 'btn-success'; } else{ return 'btn-primary'; } 所

我在xpages div中有一个按钮,我正试图基于一个作用域变量计算该按钮的样式类

最初,作用域变量的值为“蓝色”,div内按钮的背景色也为蓝色

当我单击第二个按钮时,我将作用域变量的值设置为“绿色”,并对div进行部分刷新

现在,我希望按钮变为绿色,但是类没有被改变

以下是用于计算样式类的SSJ:

if(sessionScope.sTest == 'green'){
    return 'btn-success';
}
else{
    return 'btn-primary';
}
所以,我的问题是,是在部分刷新期间重新计算样式类,还是我必须求助于JQuery或Dojo来更改样式类


任何帮助都将不胜感激

请不要像那样比较Java字符串,而是使用.equals(“…”)。

请不要像那样比较Java字符串,而是使用.equals(“…”)。

请不要像那样比较Java字符串,而是使用.equals(“…”)。

请不要像那样比较Java字符串,而是使用.equals(“…”)相反。

如果禁用按钮的主题,它应该可以工作

<xp:button id="btn" disableTheme="true"></xp:button>    

如果禁用按钮的主题,它应该可以工作

<xp:button id="btn" disableTheme="true"></xp:button>    

如果禁用按钮的主题,它应该可以工作

<xp:button id="btn" disableTheme="true"></xp:button>    

如果禁用按钮的主题,它应该可以工作

<xp:button id="btn" disableTheme="true"></xp:button>    




更简单的解决方案是使用jQuery和addClass()和removeClass()函数。发布使用返回字符串的代码更简单的解决方案是使用jQuery和addClass()和removeClass()函数。发布使用返回字符串的代码更简单的解决方案是使用jQuery和addClass()和removeClass()函数。发布使用返回字符串的代码一个更简单的解决方案是使用jQuery以及addClass()和removeClass()函数。发布使用返回字符串的代码Hello Oliver,感谢您的回复。很抱歉提出这个问题,但在这种情况下我将如何使用.equals?这不适用于Javascript.Pataar,服务器端Javascript在运行时转换为Java。这里使用的不是客户端Javascript。@OliverBusse:使用===而不是.equals不是更好吗?你好,Oliver,谢谢你的回答。很抱歉提出这个问题,但在这种情况下我将如何使用.equals?这不适用于Javascript.Pataar,服务器端Javascript在运行时转换为Java。这里使用的不是客户端Javascript。@OliverBusse:使用===而不是.equals不是更好吗?你好,Oliver,谢谢你的回答。很抱歉提出这个问题,但在这种情况下我将如何使用.equals?这不适用于Javascript.Pataar,服务器端Javascript在运行时转换为Java。这里使用的不是客户端Javascript。@OliverBusse:使用===而不是.equals不是更好吗?你好,Oliver,谢谢你的回答。很抱歉提出这个问题,但在这种情况下我将如何使用.equals?这不适用于Javascript.Pataar,服务器端Javascript在运行时转换为Java。这里使用的不是客户端Javascript。@OliverBusse:使用===而不是.equals不是更好吗?你好,Thomas,这很有效!想知道为什么你必须禁用这个主题。即使我使用一个主题加载所有引导文件,我仍然必须告诉按钮,它是什么类(btn danger,btn success等),并认为我可以这样更改类。这个问题与JSF阶段有关。Theme在concat模式下定义button类,因此需要在加载页面之前设置它。这就是为什么,若您需要为引导上的按钮计算styleClass,那个么您需要禁用主题。您也可以在这里使用Mark的解决方案。谢谢塞尔达的解释,我很感激。你好,托马斯,这很有效!想知道为什么你必须禁用这个主题。即使我使用一个主题加载所有引导文件,我仍然必须告诉按钮,它是什么类(btn danger,btn success等),并认为我可以这样更改类。这个问题与JSF阶段有关。Theme在concat模式下定义button类,因此需要在加载页面之前设置它。这就是为什么,若您需要为引导上的按钮计算styleClass,那个么您需要禁用主题。您也可以在这里使用Mark的解决方案。谢谢塞尔达的解释,我很感激。你好,托马斯,这很有效!想知道为什么你必须禁用这个主题。即使我使用一个主题加载所有引导文件,我仍然必须告诉按钮,它是什么类(btn danger,btn success等),并认为我可以这样更改类。这个问题与JSF阶段有关。Theme在concat模式下定义button类,因此需要在加载页面之前设置它。这就是为什么,若您需要为引导上的按钮计算styleClass,那个么您需要禁用主题。您也可以在这里使用Mark的解决方案。谢谢塞尔达的解释,我很感激。你好,托马斯,这很有效!想知道为什么你必须禁用这个主题。即使我使用一个主题加载所有引导文件,我仍然必须告诉按钮,它是什么类(btn danger,btn success等),并认为我可以这样更改类。这个问题与JSF阶段有关。Theme在concat模式下定义button类,因此需要在加载页面之前设置它。这就是为什么,若您需要为引导上的按钮计算styleClass,那个么您需要禁用主题。您也可以在这里使用Mark的解决方案。谢谢你的解释,我很感激。