2012-03-31 39 views
5

Il mio codice è il seguente:Errore di sintassi con jQuery accodare

 <script> 
     var i = 2; 
     $("document").ready(function(){ 
      $("#newrow").click(function(){ 
       $("#maintable").append('<tr> 
             <td><input type="text" name="dept_" + i size="5" maxlength="5" /></td> 
             <td><input type="text" name="hours_" + i size="5" maxlength="1" /></td> 
            </tr>'); 
      }); 
      i = i + 1; 
     }); 
    </script> 

Ogni volta che l'eseguo, JavaScript mi ​​dà un "SyntaxError Uncaught: token imprevisto illegale" sul $ ("# maintable") aggiungere la linea. .

Per la vita di me, non riesco a capire quale sia l'errore di sintassi.

Non è un problema con l'elemento reale aggiunto, perché ho provato solo '<td></td>' e ho ottenuto lo stesso errore.

risposta

13

Non è possibile rompere una stringa su più linee senza un trattamento speciale. O mettere tutto su una riga, o la fuga i ritorni a capo con backslash:

'<tr>\ 
    <td><input type="text" name="dept_"' + i + ' size="5" maxlength="5" /></td>\ 
    <td><input type="text" name="hours_"' + i + ' size="5" maxlength="1" /></td>\ 
</tr>' 
2
<script> 
    var i = 2; 
    $(document).ready(function(){ 
     $("#newrow").click(function(){ 
      var html = '<tr>'; 
       html += '<td><input type="text" name="dept_"'+i+' size="5" maxlength="5" /></td>'; 
       html += '<td><input type="text" name="hours_"'+i+' size="5" maxlength="1" /></td>'; 
       html += '</tr>' 
      $("#maintable").append(html); 
     }); 
     i++; 
    }); 
</script> 

documento non ha le virgolette, in questo momento la funzione "pronto" non funziona! La variabile "i" non viene aggiunta affatto! Una stringa non può essere divisa su più righe a meno che non si usi newline, add a una variabile o qualcosa di simile.

+0

Downvoted perché il documento può essere tra virgolette. –

+0

Sei serio? – adeneo

+0

Funziona bene con le virgolette ancora lì. In realtà ho realizzato dopo aver fatto downvoting che era un po 'duro, ma StackOverflow non mi ha permesso di annullarlo. Modifica: capito come. –

Problemi correlati