2012-03-27 15 views
0

a4j : commandbutton이 클릭 할 때 selectonemenu에 집중해야합니다. 나는 다음과 같은 코드가이에 내가 나에게부자면에서 탭을 사용하여 초점을 맞추는 필드

   <rich:tab id="equipmentTab" name="ed" reRender="k1,k2" 
       switchType="client" 
       label="#{messages['com.infyz.toms.entity.ShipmentEquipmentDetails']}"> 
       <a4j:outputPanel id="equipmentPanel"> 
        <h:outputText value="There are no shipment equipment details" 
         rendered="#{itOfferEquipments.rowCount==0}" /> 
        <s:div 
         style="min-height: 10px; max-height: 150px;width:440px; overflow-x:hidden; overflow-y:auto;"> 
         <rich:dataTable id="itOfferEquipmentsListTable" 
          rowClasses="odd-row,even-row" var="_shipmentEquipmentDetails" 
          value="#{itOfferEquipments}" cellpadding="0" cellspacing="0" 
          onmouseover="mouseover2()" onmouseout="mouseout2()" 
          width="370px" rendered="#{itOfferEquipments.rowCount > 0}"> 

          <rich:column id="machinarymaster" width="200px" sortable="true" 
           headerClass="removeheadergreen"> 
           <f:facet name="header"> 
            <h:panelGrid columns="2"> 
             <h:outputText styleClass="headerText" 
              value="#{messages['com.infyz.toms.properties.Type']}" /> 
             <span class="required">*</span> 
            </h:panelGrid> 
           </f:facet> 
           <h:selectOneMenu id="equipsel" 
            value="#{_shipmentEquipmentDetails.icMachinaryMaster}" 
            style="width:175px" required="true" 
            requiredMessage="*#{messages['com.infyz.toms.properties.Type']}::--->Value is Required"> 
            <s:selectItems value="#{icMachinaryMasters}" var="machinary" 
             label="#{machinary.machinaryId}" 
             noSelectionLabel="#{messages['com.infyz.toms.messages.Click_here_to_select']}" /> 
            <s:convertEntity /> 
            <a4j:support event="onchange" 
             reRender="machinarymaster,capacity" ajaxSingle="true" 
             limitToList="true" /> 
           </h:selectOneMenu> 
          </rich:column> 

          <rich:column id="capacity" width="60px" sortable="true" 
           headerClass="removeheadergreen"> 
           <f:facet name="header"> 
            <h:outputText styleClass="headerText" 
             value="#{messages['com.infyz.toms.properties.Capacity']}" /> 
           </f:facet> 
           <h:inputText 
            value="#{_shipmentEquipmentDetails.icMachinaryMaster.capacity}" 
            disabled="true" 
            style=" width : 60px;#{messages['com.infyz.toms.disablefield.style']}" /> 

          </rich:column> 

          <rich:column width="110px" id="quantity" 
           headerClass="removeheadergreen"> 
           <f:facet name="header"> 
            <h:outputText styleClass="headerText" 
             value="#{messages['com.infyz.toms.properties.Quantity']}" /> 
           </f:facet> 
           <h:inputText value="#{_shipmentEquipmentDetails.quantity}" > 
            <a4j:support event="onblur" reRender="quantity" /> 
           </h:inputText> 
          </rich:column> 

         </rich:dataTable> 
        </s:div> 
        <ui:include src="/common_activities/tablerowcolor.xhtml"> 
         <ui:param name="tableId" value="itOfferEquipmentsListTable" /> 
         <ui:param name="mouseovername" value="mouseover2" /> 
         <ui:param name="mouseoutname" value="mouseout2" /> 
        </ui:include> 
        <ui:include src="/common_activities/datatableselectioncolor.xhtml"> 
         <ui:param name="tableId" value="itOfferEquipmentsListTable" /> 
        </ui:include> 
        <rich:spacer height="8" /> 
        <s:div style="text-align:right;"> 
         <a4j:commandButton id="aedtls" 
          action="#{shipmentEquipmentAction.addOfferEquipments}" 
          reRender="equipmentPanel, equipsel" 
          rendered="#{s:hasRole(messages['com.infyz.toms.role.commercial.export.offer.create'])}" 
          onclick="#{rich:component('progressPanel')}.show();" 
          oncomplete="#{rich:component('progressPanel')}.hide(); if (#{facesContext.maximumSeverity!=null}) #{rich:component('messagePanel')}.show();" 
          value="#{messages['com.infyz.toms.label.button.tooltip.Add']} Offer Equipment" /> 
         <rich:spacer width="8" /> 
         <a4j:commandButton 
          action="#{shipmentEquipmentAction.cancelOfferEquipment}" 
          rendered="#{s:hasRole(messages['com.infyz.toms.role.commercial.export.offer.create'])}" 
          reRender="equipmentPanel" immediate="true" 
          value="#{messages['com.infyz.toms.label.button.tooltip.Cancel']}" /> 
        </s:div> 
       </a4j:outputPanel> 
       <rich:hotKey id="k2" 
        key="#{messages['com.infyz.hotkeys.Insert_new_record']}" 
        handler="#{rich:element('aedtls')}.onclick();return false;" 
        rendered="#{itShipmentOrderAction.selectedTab eq 'ed'}" /> 
      </rich:tab> 

답변

0

도와주세요 "aedtls"클릭으로 ID를 가지고있는 buuton, 난 자바 스크립트와 노력 "equipsel"와 JQuery와 아무 소용로 ID를이 필드에 초점을 맞출 필요가 # {rich : element ('equipsel')}을 사용하여 실제 렌더링 된 ID를 얻은 다음 해당 dom 요소를 사용하여 포커스를 설정할 수 있습니다. 그런 다음 버튼에서 호출하십시오. 다음과 같음 :

<script> 
    function setFocusToEquipsel() { 
     #{rich:element('equipsel')}.focus(); 
    } 
</script> 

<a4j:commandButton id="aedtls" 
    oncomplete="... ; setFocusToEquipsel();" 
/> 

정상적으로 작동한다고 가정합니다.

MAG, 마일로

관련 문제