javascript - 动态更改 p :selectCheckboxMenu when items are selected 的样式

标签 javascript css jsf primefaces

当用户从下拉列表中选择任何值时,我试图更改 p:selectCheckboxMenu 的样式。例如改变标签容器的背景颜色( .ui-selectcheckboxmenu .ui-selectcheckboxmenu-label-container) 或边框的颜色。
我遇到的问题是 selectCheckboxMenus 是在重复组件内动态生成的。

<h:panelGroup id="multiple" >
      <p:repeat value="#{myBean.keywdLst}" var="kLst" >
          <p:selectCheckboxMenu id="checkmenu" value="#{myBean.selectedKeywords}" 
                  label="#{kLst.keywordlistname}" filter="true" filterMatchMode="startsWith" 
                  panelStyle="width:250px" valueChangeListener="#{myBean.selectedItemsChanged}" >
                <f:selectItems value="#{kLst.listKeywords}" var="key" itemLabel="#{key.keyword}" itemValue="#{key}" />
          </p:selectCheckboxMenu>
      </p:repeat>                            
</h:panelGroup>

我不确定解决这个问题的正确方法。无论是使用 javascript 和 ajax 监听器还是在支持 bean 中,挑战都是仅获取带有所选元素的 selectCheckboxMenus 的 ID,以及如何将 css 代码推送到那里。

非常感谢任何帮助。
谢谢

最佳答案

使用 <c:forEach>而不是 <p:repeat>这样您就可以在循环中获取生成的 ID 的句柄,然后使用它们。 更多详情:JSTL in JSF2 Facelets... makes sense?

关于javascript - 动态更改 p :selectCheckboxMenu when items are selected 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58645736/

相关文章:

javascript - 使用transloadit,如何将两个图像调整为不同的尺寸?

javascript - Mongoose 异步多次保存冲突

javascript - 使用 CSS 为跨度中的第 n 个字母设置样式

html - 有没有办法从标签中删除所有格式 - 并应用已经是 "in force"的任何样式?

html - 当我将鼠标悬停在第二个 <DIV> 上时,如何使一个 <DIV> 在第二个 <DIV> 下方可见

html - 如何为多个元素添加一个工具提示?

javascript - 在 javascript 中,我可以覆盖括号以访问字符串中的字符吗?

JQuery 进度条 - 添加文本和更改背景颜色

java - JSF Richfaces 部分标签的渲染条件

jsf - 返回多个大响应时Servlet抛出GF4不正确超时异常(请求)