2016-06-16 28 views
0

Ich habe ein JS Quiz erstellt und es enthält alle Antwortmöglichkeiten in Arrays. Die Antwortmöglichkeiten werden dann in ein erzeugtes <input type="radio" . . . . /> Element eingefügt. Anstatt jedoch innerhalb eines Labels zu stehen, werden sie nur innerhalb des Eingabeelements gehalten. Hier ist weiter auszubauen, was ich spreche:Radio mit Label mit jQuery einfügen

html-code1

ich es wie dieses

html-code2

sein wollen Hier ist der Code, der die Eingaben erstellt:

// Creates a list of the answer choices as radio inputs 
    function createRadios(index) { 
    var radioList = $('<ul>'); 
    var item; 
    var input = ''; 
    for (var i = 0; i < questions[index].choices.length; i++) { 
     item = $('<li>'); 
     input = '<input type="radio" name="answer" value=' + i + ' />'; 
     input += questions[index].choices[i]; 
     item.append(input); 
    radioList.append(item); 
    } 
    return radioList; 
    } 

Jede Hilfe würde sehr geschätzt werden.

+0

Dies kann helfen: http://stackoverflow.com/questions/16973457/how-to-dynamically-create-a-form-element – jsanchezs

Antwort

1

Das Etikett sollte den Radio-Button für Best Practices enthalten. Versuchen Sie folgendes:

// Creates a list of the answer choices as radio inputs 
    function createRadios(index) { 
    var radioList = $('<ul>'); 
    for (var i = 0; i < questions[index].choices.length; i++) { 
     var item = $('<li>'); 
     var label = $('<label>'); 
     var input = $('<input>', {type: 'radio', name: 'answer', value: i}); 
     input.appendTo(label); 
     label.append(questions[index].choices[i]); 
     item.append(label); 
     radioList.append(item); 
    } 
    return radioList; 
    } 
+1

Wow! Ich danke dir sehr!! –