- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个字段,根据屏幕上其他字段的设置,该字段应允许无限选择、3 个选择或 1 个选择。
<p:selectManyMenu value="#{orderBean.selectedAddOns}">
<f:selectItems value="#{catalogBean.addOns}"/>
</p:selectManyMenu>
因此,有 10 个可能的附加组件,但其中一个选项(上面未列出的字段)意味着仅允许使用一个附加组件。另一种意味着允许 3 个,对于任何其他选项或根本没有选项,可以选择任何或所有附加组件。那么动态限制可以进行的选择数量的最直接方法是什么?我希望这样当限制为 3 并且用户选择第四个时,它会取消选择他们选择的第一个,也就是说,如果他们选择 B、C、D,然后选择 G,则选择将变为 C,如果 B 是他们做出的第一个选择,则 D、G。
最佳答案
我会这样做。
<p:selectManyMenu widgetVar="selectManyMenuWV"
showCheckbox="true">
<f:selectItem itemLabel="Option 1" itemValue="1" />
<f:selectItem itemLabel="Option 2" itemValue="2" />
<f:selectItem itemLabel="Option 3" itemValue="3" />
<f:selectItem itemLabel="Option 4" itemValue="4" />
</p:selectManyMenu>
<script>
$(function() {
selectManyMenuWV.items.on('click', function() {
restrictMenu($(this).text())
})
selectManyMenuWV.checkboxes.on('click', function() {
restrictMenu($(this).parent().parent().text())
})
});
function restrictMenu(notValue) {
//max selection size
maxSelectionVar = 4;
if (maxSelectionVar.length != 0) {
if (selectManyMenuWV.input.find(':selected').length > maxSelectionVar) {
selectManyMenuWV.unselectItem(selectManyMenuWV.items.filter(function() {
if(selectManyMenuWV.input.find(':selected').eq(0).text() != notValue)
return $(this).text() == selectManyMenuWV.input.find(':selected').eq(0).text();
else
return $(this).text() == selectManyMenuWV.input.find(':selected:last').text();
}))
}
}
}
</script>
注意:这种方法有其缺点:
可以在 github 上找到一个小型工作示例。 。还有一个online Demo .
希望这有帮助。
关于javascript - 是否可以在 p :selectManyMenu in Primefaces? 上设置选择计数限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21917625/
我正在使用 h:selectManyMenu,但它无法在 Chrome (12)、Firefox (5) 或 Internet Explorer (8) 中正确呈现。 h:selectOneMenu
p:selectedManyManu 是否允许默认选择?我一直无法实现这一点。我什至尝试过 Omnifaces ListConverter 和 selectItemsConverter 但没有成功。任
有没有办法将样式应用于 p:selectManyMenu 中的列? #{entry.id} #{entry.name} 生成的代码不包括 css_id 和 css_na
我对 JSF 中的 h:selectManyMenu 组件有疑问。我的问题是,如果用户在他的 h:selectManyMenu 项目中添加了 10 个项目,并且从可用项目列表中选择了 3 个项目,现在
如何在支持 bean 中从 UISelectMany 组件(例如 h:selectManyListbox、h:selectManyMenu、h:selectManyCheckbox、p:selectM
index.xhtml BookBean.java List books = new ArrayList(); public List getBooks() { return books;
我有一个字段,根据屏幕上其他字段的设置,该字段应允许无限选择、3 个选择或 1 个选择。 因此,有 10 个可能的附加组件,但其中一个选项(上面未列出的字段)意味着仅允许使用一个附加组件
我有 SelectManyMenu (primeFaces 6.1) 和“全选”和“取消全选”按钮,用于选择/取消选择选择列表中的所有项目。我使用过滤器修改了 SelectManyMenu,但我的“全
在Web应用程序(带有Primefaces的JSF 2.1)中,我想使用HashMap来填充SelectManyMenu(带有复选框)。 HashMap 使用一些值进行初始化,并将键设置为 false
while clicking NEXT/BACK of wizard component的选定项目
使用 primefaces 时 在wizard组件时,按 NEXT 和 BACK 按钮时无法保留所选项目。例如在 itemLabel当我按 NEXT/BACK 按钮时,所选内
我可以修改 SelectManyMenu 组件,例如 primefaces 中的 autoComplete 组件吗?具体来说,我不想一次性将所有数据获取到 SelectManyMenu 组件,而是想根
我是一名优秀的程序员,十分优秀!