jquery array med divvar, show/hide specifika

Permalänk
Medlem

jquery array med divvar, show/hide specifika

Har 4 st divvar med klassen .quizQuestion
Inga problem att dölja alla, men sen vill jag visa 1 div i min array.
Försökt lägga in quizQuestion[1].show(); Men den har inte funkat.

$(function () { var counter = 0; var listOfQuestions = $(".quizQuestion"); listOfQuestions.hide(); });

Permalänk
Inaktiv

$('.quizQuestion').hide(); $('.quizQuestion').eq(index).show();

index är noll-baserat, så .eq(0) väljer första elementet.

Permalänk
Medlem

Ok, ska googla lite på eq! Funkade som jag ville.

Provade innan att skriva
var test = listOfQuestions[1]

Sen när jag debuggade så fick jag fram rätt element på test. Dock så fick jag bara constructor, lenght, prototype & string att använda mig av. Kan någon förklara varför man inte kan skriva .show() på ett element i en array?

Permalänk
Medlem

.show() är en jQuery specifik funktion, du kan således inte kalla funktionen direkt på ditt objekt utan måste skriva $(test).show()

Permalänk
Medlem

Kommer en liten följdfråga.

var correctAnswears = ["r1", "r5", "r7", "r12"]; var nextQuestionCount = 0; var test = correctAnswears.eg(nextQuestionCount); if (correctAnswears.eg(nextQuestionCount).val == userAnswers.eq(nextQuestionCount).val) { amountOfRightAnswers++; }

Enligt mig så borde test bli "r1". Men när man debuggar så hoppar den in i jquery filen och där avslutas hela funktionen. Varför går den inte tillbaka till min kod och fortsätter?

Sen i if-satsen så vill jag ju då jämnföra varje fråga med rätt svar. Men får inte ihop det.. :/

Edit: Löste det själv med

var test = userAnswers[nextQuestionCount]; if (correctAnswears[nextQuestionCount] == userAnswers[nextQuestionCount]) {

Permalänk
Medlem
Skrivet av MB:

Kommer en liten följdfråga.

var correctAnswears = ["r1", "r5", "r7", "r12"]; var nextQuestionCount = 0; var test = correctAnswears.eg(nextQuestionCount); if (correctAnswears.eg(nextQuestionCount).val == userAnswers.eq(nextQuestionCount).val) { amountOfRightAnswers++; }

Enligt mig så borde test bli "r1". Men när man debuggar så hoppar den in i jquery filen och där avslutas hela funktionen. Varför går den inte tillbaka till min kod och fortsätter?

Sen i if-satsen så vill jag ju då jämnföra varje fråga med rätt svar. Men får inte ihop det.. :/

Edit: Löste det själv med

var test = userAnswers[nextquestioncount]; if (correctAnswears[nextquestioncount] == userAnswers[nextquestioncount]) {

Du måste särskilja mellan standard JavaScript och Jquery. Eq är en funktion på ett Jquery-objekt men du försöker köra den på en vanlig Array.

Sedan borde du använda variabeln test när du ändå skapat den, tycker jag.

Skickades från m.sweclockers.com

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

test var egentligen bara för mig själv i debug syfte.

Permalänk
Medlem

Har problem med en if-sats

btnNext.click(function () { if ($("[type = 'radio']").attr("checked") == true) {

Har ju olika divvar som döljs och visas när jag clickar. Den här funkar på första 3 radio button's som ligger i en div men på nästa så får jag alltid false även om en är ibockad.

Permalänk
Medlem

Här har vi en lösning och nu funkar allt som det ska.

if ($("[type = 'radio']").is(":checked") == true) {

Permalänk
Avstängd

Kolla in knockoutjs, MVVM is the shit

Visa signatur