您好,我解决了如何检查,我做了 3 件事:
1-我在 selectManyCheckBox 中添加了一个 ID,并为每个* selectItem创建了 inputext type=hidden 。`
<p:selectManyCheckbox id="many1" value="#{cuestionarioController.pd2Opciones}" layout="pageDirection">
<f:selectItem itemLabel="Centroamerica." itemValue="3" />
<f:selectItem itemLabel="Mexico." itemValue="4" />
<f:selectItem itemLabel="Estados Unidos/Canada." itemValue="5" />
<f:selectItem itemLabel="Brasil." itemValue="5" />
<f:selectItem itemLabel="Sudamérica." itemValue="4" />
<f:selectItem itemLabel="Caribe." itemValue="5" />
<f:selectItem itemLabel="España." itemValue="5" />
<f:selectItem itemLabel="Otros países europeos." itemValue="6" />
<f:selectItem itemLabel="China." itemValue="6" />
<f:selectItem itemLabel="Otros." itemValue="2" />
<f:selectItem itemLabel="La empresa no ha comenzado a exportar de forma regular." itemValue="0" />
<p:ajax listener="#{cuestionarioController.sumarOpciond2}"/>
</p:selectManyCheckbox>
</p:panelGrid>
<p:inputText id="texto1" type="hidden" value="#{cuestionarioController.pi.vali1D2}" />
<p:inputText id="texto2" type="hidden" value="#{cuestionarioController.pi.vali2D2}" />
<p:inputText id="texto3" type="hidden" value="#{cuestionarioController.pi.vali3D2}" />
<p:inputText id="texto4" type="hidden" value="#{cuestionarioController.pi.vali4D2}" />
<p:inputText id="texto5" type="hidden" value="#{cuestionarioController.pi.vali5D2}" />
<p:inputText id="texto6" type="hidden" value="#{cuestionarioController.pi.vali6D2}" />
<p:inputText id="texto7" type="hidden" value="#{cuestionarioController.pi.vali7D2}" />
<p:inputText id="texto8" type="hidden" value="#{cuestionarioController.pi.vali8D2}" />
<p:inputText id="texto9" type="hidden" value="#{cuestionarioController.pi.vali9D2}" />
<p:inputText id="texto10" type="hidden" value="#{cuestionarioController.pi.vali10D2}" />
<p:inputText id="texto11" type="hidden" value="#{cuestionarioController.pi.vali11D2}" />
</p:outputPanel>`
2- 在 javascript 中调用函数的命令按钮。
<p:commandButton type="button" value="Resultado" onclick="validate()"/>
3-我称之为验证的函数Javascript,在这个我使用了primefaces的escapeClientId,什么是他在jquery中的组件的参考。重要的是参考,我查看了HTML“formInternacionalizacion:tabPreg_Inter:many1:0”中的primefaces生成的代码,第一个是表单,第二个是TabView,第三个是selectManyCheckBox,最后一个是selectItem的位置。所以当checkBox改变这个设置一个inputtext
function validate() {
//de2
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:0')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto1')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto1')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:1')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:text2')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto2')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:2')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto3')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto3')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:3')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto4')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto4')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:4')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto5')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto5')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:5')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto6')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto6')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:6')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto7')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto7')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:7')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto8')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto8')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:8')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto9')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto9')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:9')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto10')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto10')).val("0");
}
if($(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:many1:10')).is(':checked') == true){
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto11')).val("1");
}else{
$(PrimeFaces.escapeClientId('formInternacionalizacion:tabPreg_Inter:texto11')).val("0");
}
location.href ="resultadoGraficoMedia.xhtml";
}