2016-06-01 18 views
1

Ich habe eine JSP-Datei, die eine Tabelle enthält. Zusätzlich habe ich ein Javascript mit einer Funktion namens update, in der ich diese Tabelle jedes Mal aktualisieren will, wenn ich eine neue Zeichenfolge bekomme. Ich weiß nicht, wie ich auf die Klasse zugreifen kann, die ich für jede Zelle in der Tabelle erstellt habe.Javascript Netbeans Zugriff auf eine neue Klassensyntax

singlePlayer.jsp Code:

<table border="1"> 
    <%   
    int size=8; 
    for (int i = 0; i < size; i++) { 
    out.println("<tr>"); 
    for (int j = 0; j < size; j++) { 
    out.println("<td class=\"+i+j\"></td>"); } //creating class per cell 
    out.println("</tr>"); } }%>     
    </table> 

    <script>     
    function update(p) { 
        var MyMaze = p; 
        var size = 8; 
    for (var i = 0; i < size; i++) { 
     for (var j = 0; j < size; j++) {  
      $(.'i+j').text('*');} } //cant access 'i+j' class 
    </script> 

Frage ist, wenn ich habe eine Klasse erstellt 'i + j' für je Zelle in der Tabelle, wie gelange ich es in meinem Skript?

+1

Was Sie dort tun, ist zu versuchen, eine Klasse mit dem Namen 'i + j' zu targetieren, aber der Selektor ist fehlerhaft. Der richtige sollte ".i + j" sein. Außerdem haben Sie immer dieselbe String-Klasse im Visier, was wahrscheinlich nicht das ist, was Sie tun möchten. – LoreV

+0

out.println (""); sollte arbeiten? Zum Beispiel möchte ich, dass die 4. Reihe und die 6. Spalte den Namen '46' haben. das ist der Weg? –

+1

Ja, ich bezog mich auf das Skript. Dort würden Sie lieber $ ("." + I + j) .html ("irgendein Text"); – LoreV

Antwort

0

Bitte versuchen Sie es unten Code:

<table border="1"> 
    <%   
    int size=8; 
    for (int i = 0; i < size; i++) { 
    out.println("<tr>"); 
    for (int j = 0; j < size; j++) { 
    out.println("<td class=\""+i+" "+j+"\"></td>"); } // Changed this 
    out.println("</tr>"); } %>     
    </table> 

    <script>     
    function update(p) { 
        var MyMaze = p; 
        var size = 8; 
    for (var i = 0; i < size; i++) { 
     for (var j = 0; j < size; j++) {  
      $("." + i + " " + j).text('*');} } //and this 
    </script> 

Sie wurden einfach mit 'i + j' string. Tatsächliche Werte wurden nie verwendet. Du hast immer nur eine einzige Klasse gemeint. Die obigen Änderungen sollten es funktionieren lassen.

Verwandte Themen