Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

yaaan

Determinar máximo de radios

Recommended Posts

Olá pessoal, estou com um certo problema, e o seguinte, estou trazendo do banco um array de stings via Json para popular em minha tele campos criados dinamicamente, então preciso que o máximo de RADIOS seja 5 radios para cada questão exemplo:

A) combo 1 B) combo 2 C) combo 3 D) combo 4 E) combo 5

então ele não popula os radios com os dados do array corretamente, ele fica repetindo as 4 primeiras posições nos outros radios.

poderiam me ajudar ? Desde já agradeço.

success: function(data) {  
 
              var perguntas = new Array();
              var alternativas = new Array();
 
 
                  // trago os dados via JSON e populo num array local
              for (var i = 0; i < data.perguntas.length; i++) {
                  perguntas.push(data.perguntas[i]);
            }
 
                  // trago os dados via JSON e populo num array local
              for (var i = 0; i < data.alternativas.length; i++) {
                  alternativas.push(data.alternativas[i]);
            }
 
              // Determino que terá no maximo 4 radios cada pergunta
              var maximoRadio = 4;
 
              // variavel para armazenar os radios e inputs
              var prova = '';
              var questoes = '';
              var valor = 6.0;
 
 
              // laço para pegar as questoes
              for (var i = 0; i < alternativas.length; i++) {
                  questoes += '<br /><input id="alternativa" type="radio" />'+alternativas[i]+'</input><br />';
 
              // aqui e onde determina a quantidade de radios (ele tem que entrar mais de uma vez e so esta entrando uma, não me veio uma solução ainda para entrar mais de uma vez e montar os campos)
                  if(i == maximoRadio){
 
                  // laço para pegar as perguntas
                      for (var j = 0; j < perguntas.length; j++) {
                          prova += '<br /><input id="pergunta" style = "border: 0 none;" disabled="disabled" type="text" name="pergunta" value="' + perguntas[j] +
                          '"/><input type="text" id="valorQuestao" style = "border: 0 none;" disabled="disabled" value="'+valor+'"/><br /> <br /> <br />'+questoes;
 
                          if(j == 0 || j == 1 || j == 2 || j ==3 || j == 4 || j == 5 || j == 6){
 
                              break;
                          }
                    }
 
 
                  }
            }
 
             // seto na div os campos para montar
              document.getElementById("campos").innerHTML = prova;
 
 
        }

Compartilhar este post


Link para o post
Compartilhar em outros sites


eu carrego o Array la no Servlet.

int cod_prova = 0;

boolean trazer = false;

 

ArrayList<String> perguntas = new ArrayList<String>();

ArrayList<String> alternativa = new ArrayList<String>();

 

 

 

int disciplina = Integer.parseInt(request.getParameter("disciplina"));

int unidade = Integer.parseInt(request.getParameter("unidade"));

String provaLiberada = request.getParameter("liberada");

 

PrintWriter out= response.getWriter();

JSONObject json = new JSONObject();

 

 

try {

 

 

// ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ PEGA O ULTIMO VALOR DA PROVA ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

PreparedStatement stmtVerifica = Conexao.getConnection().prepareStatement(

"SELECT * FROM prova where cod_disciplina ='"+ disciplina + "' and unidade ='"+ unidade + "' and liberada ='"+ provaLiberada + "';");

 

ResultSet rsVerifica = stmtVerifica.executeQuery();

 

while (rsVerifica.next()) {

int codigo_prova_banco = rsVerifica.getInt("cod_prova");

this.cod_prova = codigo_prova_banco;

this.trazer = true;

 

}

// ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ PEGA O ULTIMO VALOR DA PROVA ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

 

 

 

if(this.trazer == true){

 

// ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ TRAS AS QUESTÕES DA PROVA ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

PreparedStatement stmtPerguntas = Conexao.getConnection().prepareStatement(

"SELECT DISTINCT PERGUNTA FROM questao where cod_prova ='"+ this.cod_prova + "';");

 

ResultSet rsPerguntas = stmtPerguntas.executeQuery();

 

while (rsPerguntas.next()) {

 

this.perguntas.add(rsPerguntas.getString("pergunta"));

}

 

 

 

PreparedStatement stmtAlternativas = Conexao.getConnection().prepareStatement(

"SELECT ALTERNATIVA FROM questao where cod_prova ='"+ this.cod_prova + "';");

 

ResultSet rsAlternativas = stmtAlternativas.executeQuery();

 

while (rsAlternativas.next()) {

 

this.alternativa.add(rsAlternativas.getString("alternativa"));

}

 

 

// ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ TRAS AS QUESTÕES DA PROVA ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

 

 

 

}

 

json.put("perguntas", this.perguntas);

json.put("alternativas", this.alternativa);

out.print(json);

 

json.remove("perguntas");

json.remove("alternativas");

 

 

this.perguntas.removeAll(perguntas);

this.alternativa.removeAll(alternativa);

this.trazer = false;

 

out.close();

 

 

 

} catch (Exception e) {

// TODO: handle exception

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.