2017-06-29 14 views
0

In meinem HTML-Code ich habe:html Tabellenzeile "id" -Feld Onclick Javascript Wert holen nicht

<div align="center"> 
     <div class="wrapper"> 

      <div class="table"> 

       <div class="row header"> 
        <div class="cell">Select No</div> 
        <div class="cell">Id</div> 
        <div class="cell">Name</div> 


       </div> 
       <c:forEach var="student" items="${studentList}" varStatus="status"> 

        <div class="row"> 
         <div class="cell">${status.index + 1}</div> 
         <%-- <div class="cell">${student.u_id}</div> --%> 

         <div class="cell"> 
          <a href="edit?id=${student.u_id}" onclick="return getData(this);">${student.u_id}</a> 
         </div> 

         <div class="cell">${student.name}</div> 


        </div> 
       </c:forEach> 

      </div> 
     </div> 
    </div> 

Und mein Javascript-Code ist:

function getData(element) { 
     var ID = $(element).attr("u_id"); 

     var inputs=document.getElementsByTagName('input'); 
     var tds=o.getElementsByTagName('td'); 

     for(a in tds){ 
      inputs[a].value=tds[a].innerHTML; 
     } 


     console.log(ID); 

     return false; 
    } 

Meine Forderung:

Hier Ich zeige Schülerlistendaten in HTML-Tabelle an. Ich möchte nach dem Klicken ID Feld es wird Javascript aufrufen und in der Konsole den Wert der ID erhalten. Aber ich bekomme undefiend Wert in der Konsole. was mache ich falsch ??

+0

ändert kein u_id Attribut in Ihrem Link-Elemente gibt. – H77

+0

In Ihrem Anchor-Tag ist kein Attribut u_id enthalten. Sie können den href (attribute) -Wert extrahieren und die Zeichenfolge aufteilen, um den Wert nach = (gleiches Symbol) zu erhalten. – jayadevkv

Antwort

0

ID Selektor sollte eindeutig sein, aber in Ihrem Fall zuweisen Sie gleiche ID zu mehreren Element innerhalb einer Schleife, die falsch ist. Verwenden Sie stattdessen Class Selektor.

0

In Ihrem HTML-Code gibt es kein Attribut u_id, sondern nur die Werte, die Sie in Ihrem EL-Ausdruck ${....u_id} verwenden.

Diese Attribute werden (wie erwartet) durch ihre tatsächlichen Werte im HTML ersetzt. Wenn Sie sie also über JavaScript abrufen müssen, müssen Sie sie auch einem anderen HTML-Attribut zuweisen oder in Ihrem Aufruf onclick übergeben.

Mit dem aktuellen HTML-Code, können Sie den Wert aus dem Inhalt des <a> Tag, lesen, aber wäre ein sauberer Ansatz ein Attribut hinzufügen.

0

versuchen Sie dies. var inputs = document.getElementsByTagName ('input'). Value;

+0

Willkommen bei [Stack Overflow] (http://stackoverflow.com/)! Bitte lesen Sie [Wie schreibe ich eine gute Antwort] (http://stackoverflow.com/help/how-to-answer)? –

+0

Wenn ich das verwende, bekomme ich jedes Mal denselben Wert. – user3553286

0

In Ihrem

<a href="edit?id=${student.u_id}" onclick="return getData(this);">${student.u_id}</a> 

Sie haben kein u_id Attribut, es stattdessen zu

<a href="edit?id=${student.u_id}" onclick="return getData(this);" u_id="{student.u_id}">${student.u_id}</a> 
+0

Ich habe Ihren Code verwendet..aber jetzt wird der ID-Wert nicht angezeigt ... – user3553286

+0

Überprüfen Sie das Element und prüfen Sie, ob u_id mit dem Element verknüpft ist oder nicht – Rahul

Verwandte Themen