Boas,
Estou num projecto que é um especie de manual, ou seja existem perguntas, cada pergunta tem opção sim ou não e vão aparecendo mais perguntas conforme a escolha que o utilizador faz.
No entanto começei a mexer à pouco tempo em javascript e jquery e fazendo algumas pesquisas deparei-me com um topic no stackoverflow onde alguem tinha uma questão semelhante à minha mas a unica diferença é que ele utiliza uma select box e eu necessito de botões.
Tentei modificar o código de select box para radio buttons mas não "salta" as divs, continua numa sequência.
Deixo-vos os exemplos:
http://jsfiddle.net/gN9Xg/3/ <- Este é o codigo inicial a funcionar com a select box
http://jsfiddle.net/5rXn7/5/ <- O código que alterei (Apenas alterei os inputs para radio button)
As funções são as seguintes:
Código (Javascript):
Verifiquei que no entanto se alterar o valor de
Código (Javascript):
para
Código (Javascript):
ele salta directamente para a div 3.
É possivel isto ser alterado ou necessito de ir por outro caminho ? Se me poderem dar algumas guidelines ficava agradecido.
Desde já agradeço a vossa ajuda.
Estou num projecto que é um especie de manual, ou seja existem perguntas, cada pergunta tem opção sim ou não e vão aparecendo mais perguntas conforme a escolha que o utilizador faz.
No entanto começei a mexer à pouco tempo em javascript e jquery e fazendo algumas pesquisas deparei-me com um topic no stackoverflow onde alguem tinha uma questão semelhante à minha mas a unica diferença é que ele utiliza uma select box e eu necessito de botões.
Tentei modificar o código de select box para radio buttons mas não "salta" as divs, continua numa sequência.
Deixo-vos os exemplos:
http://jsfiddle.net/gN9Xg/3/ <- Este é o codigo inicial a funcionar com a select box
http://jsfiddle.net/5rXn7/5/ <- O código que alterei (Apenas alterei os inputs para radio button)
As funções são as seguintes:
Código (Javascript):
function doSubmit(obj)
{
var oQuestion = $(obj).parents(".question").first();
var skipCount = parseInt(oQuestion.find(".skipper").val(), 10);
if (isNaN(skipCount) || skipCount < 0)
skipCount = 0;
var oNext = oQuestion.next();
for (var i = 0; i < skipCount; i++)
oNext = oNext.next();
oNext.data("prev_index", oQuestion.index());
oNext.show();
oQuestion.hide();
}
function backToPrev(obj)
{
var oQuestion = $(obj).parents(".question").first();
var index = parseInt(oQuestion.data("prev_index"), 10);
if (isNaN(index) || index < 0)
oQuestion.prev().show();
else
$(".question").eq(index).show();
oQuestion.hide();
}
{
var oQuestion = $(obj).parents(".question").first();
var skipCount = parseInt(oQuestion.find(".skipper").val(), 10);
if (isNaN(skipCount) || skipCount < 0)
skipCount = 0;
var oNext = oQuestion.next();
for (var i = 0; i < skipCount; i++)
oNext = oNext.next();
oNext.data("prev_index", oQuestion.index());
oNext.show();
oQuestion.hide();
}
function backToPrev(obj)
{
var oQuestion = $(obj).parents(".question").first();
var index = parseInt(oQuestion.data("prev_index"), 10);
if (isNaN(index) || index < 0)
oQuestion.prev().show();
else
$(".question").eq(index).show();
oQuestion.hide();
}
Verifiquei que no entanto se alterar o valor de
Código (Javascript):
if (isNaN(skipCount) || skipCount < 0)
skipCount = 0;
skipCount = 0;
para
Código (Javascript):
if (isNaN(skipCount) || skipCount < 0)
skipCount = 1;
skipCount = 1;
ele salta directamente para a div 3.
É possivel isto ser alterado ou necessito de ir por outro caminho ? Se me poderem dar algumas guidelines ficava agradecido.
Desde já agradeço a vossa ajuda.