javascript - 使用单选按钮跳到 div

标签 javascript jquery html css

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

How to Skip over divs?

此功能适用于选择框,摆弄 answer

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();
 }

我试图将选择框更改为单选输入,但我认为它没有传递值,因为如果我选择是或否,出现的 div 总是相同的。 (应该是问题2是,问题3是否)fiddle with problem

有人可以指导我吗?

提前致谢。

最佳答案

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

可以使用普通按钮来完成:

<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();
}

Updated fiddle .

关于javascript - 使用单选按钮跳到 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20017093/

相关文章:

javascript - jQuery 复选框 : select all/none except one

jquery - 显示选定的文件而不回传

html - 媒体查询适用于移动设备但不适用于浏览器调整大小

javascript - $ ("#grid"中的 datetimePicker 列.kendoGrid

javascript - 在固定宽度的 div 中缩放图像,它们之间的距离相等

javascript - 当按钮悬停时稳定页面的其余部分

jquery - 如何覆盖/扩展 javascript 处理程序?

javascript - 单击使用 jquery 在表中显示数据

html - 如何向右缩进 an li

Android WebView HTML/CSS 在默认浏览器中看起来非常不同