Ich habe ein Objekt window.Think und ein Array:

window.Think.questions = [
  {answers: [
    {a: 1, b: 2}
  ]}
];

Ich versuche, .append() einen Teil dieses Arrays in ein Element .buttons in meinem HTML-Code umzuwandeln.

Wie kann ich dies ändern, damit ein Teil meines Arrays gedruckt wird?

$think = window.Think.new;

$(document).ready(function(){
    $(".buttons").append($think.questions[1]);
});
0
stevenspiel 27 Nov. 2013 im 03:02

3 Antworten

Beste Antwort

Wenn Sie nur anhängen möchten

A ist: 1 - B ist: 2

Mit dieser genauen Datenstruktur würden Sie Folgendes tun:

$(document).ready(function(){
    $think = window.Think.questions;
    $(".buttons").append("A is: " + $think[0].answers[0].a + " -- B is: " +$think[0].answers[0].b);
});

BEARBEITEN:

Ich habe gerade Ihren Kommentar oben gesehen ... hier ist, was Sie tun müssten:

$(document).ready(function(){
    $think = window.Think.questions;
    $(".buttons").append('<input type="checkbox" name="' + $think[0].answers[0].a + '"/>');
    $(".buttons").append('<input type="checkbox" name="' + $think[0].answers[0].b + '"/>');
});

Sie möchten wahrscheinlich, dass name etwas anderes als nur eine Ganzzahl ist ... Sind Sie sicher, dass Sie nicht value meinen?

1
Steve 26 Nov. 2013 im 23:17

Wie @KevinB hervorhob, müssen Sie die Teile, die Sie in der Schaltfläche anzeigen möchten, aneinanderreihen, zum Beispiel:

var answers = window.Think.questions[0].answers[0],
    values = [answers.a, answers.b].join(' ');// turn the array values into a space delimited string

$('.buttons').append(values)
1
Rob M. 26 Nov. 2013 im 23:18

Angenommen, Ihr Kontrollkästchen hat eine ID:

$('#cheboxID').attr('name', $think[0].answers[0].a);
1
charlietfl 26 Nov. 2013 im 23:19