Давайте сделаем это в JavaScript. У вас уже есть функция JS, которая запускается каждый раз, когда нажимается ответ. Внутри этой функции у вас есть each
, который зацикливается на каждой radio
кнопке ...
$(".calc:checked").each(function(){...}
И имена переключателей связаны с именами привязок, верно? Давайте использовать это соединение! Так что попробуйте добавить сюда ...
if(this.prop('checked')) { // we only care about ANSWERED questions
var newanchorlink = 'input' + parseInt($(this).attr('name').replace('input', ''), 10) + 1;
$('.next-btn').attr('href', '#' + newanchorlink);
}
Вы должны увидеть, что здесь происходит: ваши переключатели имеют свойство name="input(SOMENUMBER)"
, так что я понимаю, что свойство, замените "input" на "", проанализируйте его как целое число, добавьте к нему 1 и соединив его со словом "input". Второе, что я делаю, это просто меняю href для ссылки на наш новый URL.
Однако это будет работать только при различных условиях: ваши входные данные являются инкрементными, т.е. input1
, input2
, et c .. Ваши входные данные должны иметь свойство name
input(somenumber)
, это не будет работать на nextinput(somenumber)
. Кроме того, мы проверяем, что на что-то ответили, поскольку оно было последним в списке ввода, удовлетворяющим условию prop('checked')
, и это потребует перекодирования, если вы измените заказы или используете другие входы.
Конечно, я сам не тестировал! Здесь много чего происходит, немало для создания демо. Но я надеюсь, что это поможет!