2016-07-21 16 views
0

meinen Code HierWie Wert von selectcheckboxmenu in Javascript bekommen

function validateForm() 
    { 
     var messages = []; 

     if (document.getElementById("templateForm:create:assignTo").value=="") 
     { 
      messages.push("Assigned Person must be filled out."); 
     } 
     if (messages.length > 0) { 
      alert(messages.join('\n')); 
      return false; 
     } else { 
      return true; 
     } 
    } 
<p:selectCheckboxMenu widgetVar="Name" value="#{Bean.assignedPersons}" label="#{Bean.assignedPersonLabel}" id="assignTo" styleClass="form-control" style="width:300px" required="true" requiredMessage="!"> 
             <f:selectItems value="#{Bean.employeeNameList}" /> 
             <p:ajax oncomplete="PF('Name').show()" listener="#{Bean.populateLabel2()}" update="assignTo" ></p:ajax> 
             <p:ajax event="toggleSelect" oncomplete="PF('Name').show()" listener="#{Bean.populateLabel2()}" update="assignTo"></p:ajax> 
            </p:selectCheckboxMenu> 

Ich bin versuchen Wert von selectcheckboxmenu zu bekommen, aber ich habe immer 'underfined' bekommen. Wie zu tun, um diesen Wert zu erhalten, Danke.

Antwort

0

Schließlich bekam ich die Antwort, meine Zielvalidierung mit Javascript zu überprüfen. Das Select-Kontrollkästchenmenü ist eine Mehrfachauswahloption. Also, ich denke, um Wert zu erhalten, ist unmöglich. Deshalb wurde ich "unterbeschrieben". Jetzt habe ich mit Total Check Count von selectcheckboxmenu versucht. Hier mein Code,

var o = document.getElementById("templateForm:updateAMCTaskProfile:assignTo").getElementsByTagName('input'); 
     for (var i in o) { 
      if (o[i].type=='checkbox') { 
       if (o[i].checked) { 
        cnt++; 
       } 
      } 
     } 
     if(cnt == 0) 
     { 
      messages.push("Assign person must be filled out."); 
     } 
0

Sie sollten verwenden ID des selectedMenu

document.getElementById("assignTo").value=="" 
+0

Kann nicht so verwenden, weil dieses selectedMenu unter irgendeiner Formidentifikation ist. – Alice

0

In primefaces die js für den Zugriff auf das Objekt, das PF (widgetVar) verwenden können, in diesem Fall, dass Sie wie folgt tun:

Um die geprüft Eingang

PF('Name').inputs.filter(':checked') 
zu erhalten

Um die Werte dieser geprüft Eingang

PF('Name').inputs.filter(':checked').each(function({ 
             alert($(this).val()); 
            }); 

T zu erhalten Das Input-Attribut ist für den internen Gebrauch von Primefaces gedacht. Achten Sie darauf, wie es verwendet wird.

Verwandte Themen