I have a small problem so all radio
is filled with everything in the array accordingly.
I'm trying to do the following, example:
1 - Quanto é 1+1?
A) 1
B) 2
C) 3
D) 4
E) 5
2 - Quanto é 2+2?
A) 5
B) 4
C) 10
D) 20
E) 70
The alternatives are saved in the array, and the loop is not mounting that way, it does not scan the entire array, it keeps repeating in all questions the first 5 positions there.
1 - Quanto é 1+1?
A) 1
B) 2
C) 3
D) 4
E) 5
2 - Quanto é 2+2?
A) 1
B) 2
C) 3
D) 4
E) 5
JS:
$(document).ready(function(){
$(".iniciar").click(function(){
var disciplina = $('#disciplinaProfessor').val();
var unidade = $('#unidade').val();
var liberada = 'L';
$.ajax({
type: "GET",
url: "../RealizaProvaServlet",
dataType: 'json',
data: 'disciplina='+disciplina+'&unidade='+unidade+'&liberada='+liberada,
success: function(data) {
var perguntas = [ { "Quanto é 1 + 1?", "Quanto é 1 + 2", "Quanto e 1+3"} ]
var alternativas = [ { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15" ] } ]
for (var i = 0; i < data.perguntas.length; i++) {
perguntas.push(data.perguntas[i]);
}
for (var i = 0; i < data.alternativas.length; i++) {
alternativas.push(data.alternativas[i]);
}
var qntCadaPergunta = 5;
var prova = '';
var questoes = '';
var valor = 6.0;
var letras = ['A', 'B', 'C', 'D', 'E'];
for (var i = 0; i < alternativas.length && i < qntCadaPergunta; i++) {
questoes += ''+letras[i]+")"+"<br />"+'<input type="radio" name="alternativa" value= "teste"> '+alternativas[i]+'</input>'+'<br /><br /><br />';
}
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] +
'"/><br /><br /><input type="text" id="valorQuestao" style = "border: 0 none;" disabled="disabled" value="'+valor+'"/><br /> <br /> <br />'+questoes;
}
document.getElementById("alternativas").innerHTML = questoes;
document.getElementById("perguntas").innerHTML = prova;
},
});
return false;
});
});
Servlet where I look for the bank's questions and alternatives:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
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
}
}
And the JSP where the dynamic fields are set:
<form id="realizarProva">
<div id="perguntas">
<div id="alternativas"></div>
</div>
</form>