Javascript 使用单选按钮跳到div

Javascript 使用单选按钮跳到div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,所以有人问了一些非常类似的问题,但我需要用户点击一个按钮,而不是选择框 此函数适用于选择框,可以在 函数doSubmit(obj) { var oQuestion=$(obj).parents(“.question”).first(); var skipCount=parseInt(oQuestion.find(“.skipper”).val(),10); 如果(isNaN(skipCount)| | skipCount

所以有人问了一些非常类似的问题,但我需要用户点击一个按钮,而不是选择框

此函数适用于选择框,可以在

函数doSubmit(obj)
{
var oQuestion=$(obj).parents(“.question”).first();
var skipCount=parseInt(oQuestion.find(“.skipper”).val(),10);
如果(isNaN(skipCount)| | skipCount<0)
skipCount=0;
var oNext=oQuestion.next();
对于(变量i=0;i
我试图将选择框更改为无线电输入,但我认为它不会传递值,因为如果选择是或否,显示的div总是相同的。(应为问题2至是,问题3至否)

有人能指引我吗


提前感谢。

这里的关键是将“跳过”数据以某种方式嵌入到每个相关按钮中

可以使用普通按钮进行此操作:

<button type="button" onclick="doSubmit(this);">Yes</button>
<button type="button" data-skip="1" onclick="doSubmit(this);">No</button>
是
不
“否”按钮将导致跳过一个问题

为支持此功能,应将此功能更改为:

function doSubmit(obj)
{
    var sender = $(obj);
    var oQuestion = sender.parents(".question").first();

    //first, try directly from sender:
    var skipCount = parseInt(sender.data("skip") || "");
    if (isNaN(skipCount)) {
        //try from parent
        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();
}
函数doSubmit(obj)
{
变量发送方=$(obj);
var oQuestion=sender.parents(“.question”).first();
//首先,直接从发件人处尝试:
var skipCount=parseInt(sender.data(“skip”)| |“”);
if(isNaN(skipCount)){
//从父母那里试试看
skipCount=parseInt(oQuestion.find(“.skipper”).val(),10);
}
如果(isNaN(skipCount)| | skipCount<0)
skipCount=0;
var oNext=oQuestion.next();
对于(变量i=0;i

.

从验证HTML开始;您有一些可能会干扰事情的结构错误,例如缺少
结束标记。避免创造新的属性;这些可能并不总是有效。@MrLister无效的HTML属于链接问题的OP,非常确定这里的Nibbler先生有完全不同的HTML,至于新属性,你是对的,这是我的错,当时不知道jQuery
.data()
:/@暗影向导嗯,Nibbler提到的“摆弄问题”并没有出现在链接的问题中,所以我认为这是原创作品。
function doSubmit(obj)
{
    var sender = $(obj);
    var oQuestion = sender.parents(".question").first();

    //first, try directly from sender:
    var skipCount = parseInt(sender.data("skip") || "");
    if (isNaN(skipCount)) {
        //try from parent
        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();
}