我的页面上有5个selectOneListbox彼此相邻。根据用户在第一个列表框中选择的内容,我想从一些列表框中禁用一些项目,并完全禁用一些列表。
jQuery(".commentClass ul.ui-selectlistbox-list li:eq(4)").on("click",function(event){
jQuery('.callTypeClass').addClass('ui-state-disabled');
jQuery('.phoneClass').addClass('ui-state-disabled');
jQuery('.disputeClass').addClass('ui-state-disabled');
jQuery('.placementClass').addClass('ui-state-disabled');
});
虽然上面的jquery将'ui-state-disabled'类添加到整个listBox,但是我仍然可以单击其中的项目。最好的办法就是模糊内容。
如何完全禁用listBoxes,以使用户无法单击任何项(如果我在列表框上硬编码 disabled =“ true” ,则可以实现此目的)。 prop('disabled',true); 也不起作用。 以及如何控制项目级别(而不是完整的列表框)的启用/禁用。
示例列表框
<p:selectOneListbox id="basic1" widgetVar='commmentWidget' styleClass="commentClass" value="#{decisionTreeBean.option1}">
<f:selectItems value="#{decisionTreeBean.commentType}" var="X"
itemLabel="#{X}" itemValue="#{X}"/>
</p:selectOneListbox>