- Posts: 27
- Thank you received: 1
Ask the community, share ideas, and connect with other LimeSurvey users!
<script type="text/javascript" charset="utf-8"> $(document).ready(function() { //// Identificação de todos os checkbox envolvidos //// SID é o código do questionário (não precisa alterar) //// GID é o código do grupo (não precisa alterar) //// QID é o código da questão (não precisa alterar) //// 1,2,3,4,5,6,7,8,9 representa cada um, o código das respostas //// p_sorteio é o id da questão oculta p1_1 que receberá o sorteio var MARCA1 = '#answer{SID}X{GID}X{QID}1'; var MARCA2 = '#answer{SID}X{GID}X{QID}2'; var MARCA3 = '#answer{SID}X{GID}X{QID}3'; var MARCA4 = '#answer{SID}X{GID}X{QID}4'; var MARCA5 = '#answer{SID}X{GID}X{QID}5'; var MARCA6 = '#answer{SID}X{GID}X{QID}6'; var MARCA7 = '#answer{SID}X{GID}X{QID}7'; var MARCA8 = '#answer{SID}X{GID}X{QID}8'; var p_sorteio = '1801' //// Cria um array com os dados obtidos checkBoxes = new Array(MARCA1, MARCA2, MARCA3, MARCA4, MARCA5, MARCA6, MARCA7, MARCA8); var checkBoxesLength = checkBoxes.length; //// Essa função pega todas as marcas checkada function randomResponse () { var boxLabels = new Array(); for( var i=0; i<checkBoxesLength; i++ ) { if ( $(checkBoxes[i]).attr('checked') == true ) { var cbid = checkBoxes[i].replace('#',''); boxLabels.push( $( 'label[for=' + cbid + ']' ).html() ); } } var sorteios = new Array(); for( var i=0; i<checkBoxesLength; i++ ) { var mais = i +1; var tudo = p_sorteio+mais; sorteios[i] = "#answer{SID}X{GID}X"+tudo; $("#answer{SID}X{GID}X"+tudo).attr("checked",false); } var sorteioLabels = new Array(); for( var i=0; i<checkBoxesLength; i++ ) { var cbid2 = sorteios[i].replace('#',''); sorteioLabels.push( $( 'label[for=' + cbid2 + ']' ).html() ); } // 1° marca sorteada var randomNum = Math.floor(Math.random() * boxLabels.length); for( var i=0; i<checkBoxesLength; i++ ) { if(sorteioLabels[i] == boxLabels[randomNum]){ $(sorteios[i]).attr("checked",true); } } // 2° marca sorteada boxLabels.splice(randomNum,1); var randomNum2 = Math.floor(Math.random() * boxLabels.length); for( var i=0; i<checkBoxesLength; i++ ) { if(sorteioLabels[i] == boxLabels[randomNum2]){ $(sorteios[i]).attr("checked",true); } } // boxLabels.splice(randomNum2,1); // var randomNum3 = Math.floor(Math.random() * boxLabels.length); // // for( var i=0; i<checkBoxesLength; i++ ) { // if(sorteioLabels[i] == boxLabels[randomNum3]){ // $(sorteios[i]).attr("checked",true); // } // } // // } // // // boxLabels.splice(randomNum3,1); // var randomNum4 = Math.floor(Math.random() * boxLabels.length); // // for( var i=0; i<checkBoxesLength; i++ ) { // if(sorteioLabels[i] == boxLabels[randomNum4]){ // $(sorteios[i]).attr("checked",true); // } // } // // } // // boxLabels.splice(randomNum4,1); // var randomNum5 = Math.floor(Math.random() * boxLabels.length); // // for( var i=0; i<checkBoxesLength; i++ ) { // if(sorteioLabels[i] == boxLabels[randomNum5]){ // $(sorteios[i]).attr("checked",true); // } // } // // } } $(MARCA1).change(function() { randomResponse (); }); $(MARCA2).change(function() { randomResponse (); }); $(MARCA3).change(function() { randomResponse (); }); $(MARCA4).change(function() { randomResponse (); }); $(MARCA5).change(function() { randomResponse (); }); $(MARCA6).change(function() { randomResponse (); }); $(MARCA7).change(function() { randomResponse (); }); $(MARCA8).change(function() { randomResponse (); }); }); </script>