2016-04-10 5 views
0

Am zu neuen Standort zu suchen, habe ich versucht, eine Antwort suchen, aber nicht in der Lage gewesen (wenn jemand weiß, wo Post, dass seine geschätzt helfen kann) auf Problem ...Knopf Erstellung Funktionscodefehler nicht in der Lage

I Ich versuche, ein Button-System zu erstellen, die neue Schaltflächen abhängig von Informationen in einem Array hinzufügen wird, ich bekomme neue Informationen zu setzen, so dass die Eingabe beschleunigen und aktualisieren würde.

<!DOCTYPE html> 
<html> 
<head> 
    <title> Function Test </title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <script> 

    var textNum = ["<b>O</b>ne", "<b>T</b>wo", "three", "four", "five"]; 
    var i; 
    var build = ""; 
    function callText(a) { 

      document.getElementById("demo").innerHTML = textNum[a]; 
    } 

    </script> 
    </head> 

    <body> 
     <button onclick = "callText(0)"> 1 </button> 
     <button onclick = "callText(1)"> 2 </button> 
     <button onclick = "callText(2)"> 3 </button> 
     <button onclick = "callText(3)"> 4 </button> 
     <button onclick = "callText(4)"> 5 </button> 
     <p id="demo"></p> 

     <br> 
     <br> 
     <p id="createbutton"></p> 
     <p id="displayHere"></p> 
    <script> 
     var newText =[1, 2]; 
     var i; 
     var build = ""; 
     function display(a) { 
      document.getElementById("displayHere").innerHTML = newText[a]; 
     }; 


     for (i = 0; i < newText.length; i++) { 

      build +="<button onclick = \\display(i)\\>" + newText[i] + "</button>" ; 
     }; 
     document.getElementById("createbutton").innerHTML = build; 
     </script> 

    </body> 
     </html> 

Uncaught SyntaxError: Unexpected token ILLEGAL function test.html:46

(seine Hervorhebung der > auf dem final /script)

es die Buttons erstellt, sondern kommt mit, dass error alle Ideen

Antwort

1

2 Probleme mit dem Code:

1) Was ist mit der "\\ Display (i) \\"? Was hast du versucht zu tun?

2) Sie können "i" im generierten HTML hier nicht verwenden. Sie müssen den Wert von i

Zum Beispiel einzufügen:

build += "<button onclick=\"display(" + i + ")\">" + newText[i] + "</button>" ; 
+0

Dank, das funktioniert, ich glaube, ich einen Artikel mit meiner Version des Codes falsch verstanden zu versuchen, die Angebote zu erhalten in – VictorRee

0

Build enthält „Taste Onclick = \ display (i) ...

Sie möchten den onclick-Handler in Anführungszeichen setzen, wie dies:

build +="<button onclick = 'display(i)'>" + newText[i] + "</button>" ;