HTML şi jQuery: verificarea opţiunilor


La articolul anterior Ionuţ Staicu a comentat oferind o variantă mai funcţională. Ea include folosirea butoanelor checkbox, dar eu am spus anterior „am exclus din start folosirea checkbox-urilor din HTML, precum şi a versiunilor grafice modificate, chiar şi cu pluginuri jQuery”. OK. Fiecare cu varianta lui. M-am simţit însă provocat (prieteneşte, pozitiv) de afirmaţia sa că în varianta mea „nu prea poți trimite mai departe datele”. Aşa să fie? Eu spun că nu. Drept urmare iată continuarea. Testaţi mai jos. Vedeţi pagina extern dacă e cazul.

Ce am făcut? Am introdus un scurt cod care nu este mega-optimizat (adică se putea scrie mai pe scurt), dar cred că didactic este bun. Am parcurs opţiunile şi după imaginea găsită în ele, văzând şi rezultatele corecte indicate în array-ul corecte, am acţionat şi cu schimbare vizuală (cu alte cuvinte vezi care erau răspunsuri corecte, care răspunsuri greşite), dar am şi dat un verdict final despre răspuns. Deci… soluţia mea este funcţională? Sunt departe de competenţele profesionale ale lui Ionuţ, dar implementarea propusă e totuşi funcţională.

corecte=new Array(0,1,0,0,1,1,0,1);
    $("#verificare").click(function (){
    corect=true;
    i=0;
    $('div').each(function(index) {
        img=$(this).css("backgroundImage");
        if(img.indexOf("asterisk.png")!=-1 && corecte[i]==1)
            corect=false;
        if(img.indexOf("asterisk.png")==-1 && corecte[i]==0)
            corect=false;
        if(corecte[i]==1){
            $(this).css("border","3px solid #12a412");
            $(this).css("backgroundColor","#65e965");
        }
        else{
            $(this).css("border","3px solid #cc0000");
            $(this).css("backgroundColor","#f14d50");
        }
        i++;
    });
    if(corect)
        alert("Bravo!");
    else
        alert("Mai incearca!");
});

Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (2 evaluări, media: 5,00 din 5)
Loading...Loading...

2 comentarii

  1. Andi spune:

    Presupun ca in versiunea live nu o sa fie vizibil acel array cu raspunsuri corecte.

  2. radu.capan spune:

    Depinde de nevoi. Dacă miza unui chestionar sunt bani, cu siguranţă că nu. Dacă chestionarele sunt „for fun”, nu vad neaparat sensul (adica cine fura, se fura pe sine). Asta ca opinii, dincolo oricum de subiectul materialului de mai sus.


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *