Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何使用dataTable的h:列中的h:selectbooleancheckbox onclick方法填充InputText?_Jsf_Datatable - Fatal编程技术网

Jsf 如何使用dataTable的h:列中的h:selectbooleancheckbox onclick方法填充InputText?

Jsf 如何使用dataTable的h:列中的h:selectbooleancheckbox onclick方法填充InputText?,jsf,datatable,Jsf,Datatable,如何使用位于dataTable的h:列中的h:selectbooleancheckbox onclick方法,以便用该dataTable的其中一列的值填充InputText <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun

如何使用位于dataTable的h:列中的h:selectbooleancheckbox onclick方法,以便用该dataTable的其中一列的值填充InputText

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:panelGrid columns="2" styleClass="formTable">
#{msgs.asunto} 
<h:panelGroup>
<p:inputText value="#{correo.asunto}"
           required="false"
           requiredMessage="#{msgs.formAlta_nombre_requiredMessage}"
           validatorMessage="#{msgs.formAlta_nombre_validatorMessage}"
           id="asunto">
<f:validateLength maximum="20"/>           
</p:inputText>
<h:message for="asunto"/>
</h:panelGroup>

#{msgs.cuerpo} 
<h:panelGroup>
<p:inputText value="#{correo.cuerpo}"
           required="false"
           requiredMessage="#{msgs.formAlta_apellidos_requiredMessage}"
           validatorMessage="#{msgs.formAlta_apellidos_validatorMessage}"
           id="apellidos">

<f:validateLength  maximum="40"/>           
</p:inputText>
<h:message for="cuerpo"/>
</h:panelGroup>

#{msgs.destinatario} 
<h:panelGroup>
<p:inputText required="false"
           id="destinatario">         
</p:inputText>
<h:message for="asunto"/>
</h:panelGroup>
</h:panelGrid>

<p:commandButton value="#{msgs.botonEnviar}" 
               action="#{controllerCorreo.salva}">            
 <f:ajax execute="@form" render="@form :form-pie"/>                   

#{msgs.asunto}
#{msgs.cuerpo}
#{msgs.destinatario}


#{msgs.tablaNombre}{contacto.nombre}
#{msgs.tablaApellidos}{contacto.apellidos}
#{msgs.tablaDireccion}{contacto.direccion}
#{msgs.tablaCiudad}{contacto.ciudad}
#{msgs.tablabemail}{contacto.email}
#{msgs.tablaBaja}
#{msgs.tablaEdit}

每次单击复选框时,我想用属于数据表该行的contacto.email值填充名为“msgs.destinatario”的输入文本。

将ajax添加到复选框中。对其运行一个侦听器方法,该方法操作destinatario输入字段的值,然后重新命名窗体中具有destinatario值的部分

我觉得这很容易

如果您只希望它发生在客户端,那么也可以使用javascript做一些事情。在onclick属性中,调用一个处理输入字段的js函数,例如:document.getElementById(“destinatario”).value=“new value”

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:commandLink rendered="#{controllerContacto.admincomprueba}"
    value="#{msgs.enlaceListadoPrivada}"
    action="#{controllerContacto.listado}" />
<h:commandLink value="#{msgs.enlaceListadoCompartida}"
    action="#{controllerContacto.listadoAgendaCompartida}" />
<h:dataTable var="contacto" value="#{controllerContacto.contactos}"
    border="1">
    <h:column>
        <f:facet name="header">#{msgs.tablaNombre}</f:facet>#{contacto.nombre}</h:column>
    <h:column>
        <f:facet name="header">#{msgs.tablaApellidos}</f:facet>#{contacto.apellidos}</h:column>
    <h:column>
        <f:facet name="header">#{msgs.tablaDireccion}</f:facet>#{contacto.direccion}</h:column>
    <h:column>
        <f:facet name="header">#{msgs.tablaCiudad}</f:facet>#{contacto.ciudad}</h:column>
    <h:column>
        <f:facet name="header">#{msgs.tablaEmail}</f:facet>#{contacto.email}</h:column>

    <h:column>
        <f:facet name="header">#{msgs.tablaBaja}</f:facet>
        <h:commandLink action="#{controllerContacto.baja(contacto)}"
            type="submit" value="#{msgs.enlaceBaja}" immediate="true">
            <f:ajax execute="@this" render="@form :form-pie" />
        </h:commandLink>
    </h:column>

    <h:column>
        <f:facet name="header">#{msgs.tablaEdit}</f:facet>
        <h:commandLink action="#{controllerContacto.edit()}" type="submit"
            value="#{msgs.enlaceEdit}" immediate="true">
            <f:ajax execute="@this" render="@form :form-pie" />
        </h:commandLink>
    </h:column>

    <h:column>
        <h:selectBooleanCheckbox id="check" value="#{contacto.check}"
            onclick="tobeCompleted" />
    </h:column>

</h:dataTable>
</ui:composition>