Javascript下一步按钮数组

Javascript下一步按钮数组,javascript,arrays,event-handling,Javascript,Arrays,Event Handling,我没有听说过javascript,希望通过下一个按钮获得帮助,该按钮链接到基于数组的id。这是数组 var baseline_next=new Array(); baseline_next[0]="#one"; baseline_next[1]="#two"; baseline_next[2]="#three"; baseline_next[3]="#four"; baseline_next[4]="#five"; baseline_next[5]="#six"; baseline_

我没有听说过javascript,希望通过下一个按钮获得帮助,该按钮链接到基于数组的id。这是数组

var baseline_next=new Array();
baseline_next[0]="#one";      
baseline_next[1]="#two";
baseline_next[2]="#three";
baseline_next[3]="#four";
baseline_next[4]="#five";
baseline_next[5]="#six";
baseline_next[6]="#six2";
baseline_next[7]="#seven";
baseline_next[8]="#eight";
baseline_next[9]="#nine";
baseline_next[10]="#ten";
baseline_next[11]="#eleven";
baseline_next[13]="#thirteen";
baseline_next[14]="#fourteen";
baseline_next[15]="#fifteen";
baseline_next[16]="#sixteen";
baseline_next[17]="#seventeen";
baseline_next[18]="#eighteen";
baseline_next[19]="#nineteen";
baseline_next[20]="#twenty";
baseline_next[21]="#twentyone";
baseline_next[22]="#twentytwo";
baseline_next[22]="#twentythree";
基本上我需要的是,当第一次单击下一个按钮(“0”~#1)时,我需要下一个按钮id变为2,再次单击时,它需要变为#3。我不知道如何将数组链接到按钮。我之所以需要这样做,是因为我正在使用ajax加载div内容,所以“下一步”按钮实际上并没有提交,它只是变成了一个新的“下一步”按钮。我不知道这是否重要,但这里有一个按钮会导致点击发生的部分

$('#one').click(function(){
        $("#area").hide("slide", { direction: "left" }, 500);
        $("#area").load("test_it.jsp #area");
        $("#area").show("slide", { direction: "right" }, 500);
        $("#two").show();

        });
$('#two').click(function(){
    if((document.form1.baseline_01[0].checked || document.form1.baseline_01[1].checked| document.form1.baseline_01[2].checked)
    && (document.form1.baseline_02[0].checked || document.form1.baseline_02[1].checked) 
    && (document.form1.baseline_03_native.checked || document.form1.baseline_03_asian.checked|| document.form1.baseline_03_black.checked|| document.form1.baseline_03_pacific.checked|| document.form1.baseline_03_white.checked|| document.form1.baseline_03_other.checked)){
        if(document.form1.baseline_03_other.checked && document.form1.baseline_03_other_text.value==""){
            alert("Please fill in what other race you concider yourself to be.");
            return false;
        }else{
        $("#area").hide("slide", { direction: "left" }, 500);
        $("#area").load("test_it.jsp #area2");
        $("#area").show("slide", { direction: "right" }, 500);
            $("#three").show();
            return true;
        }
    }else{
        alert("Please select an answer for each question.");
        return false;
    }
        });

如果我的问题很难跟上,我必须道歉。我今年刚开始编写代码。

我认为你应该考虑重新编写代码,不要有这个ID列表,在所有的元素上使用一个类。这将有助于了解如何设置HTML以获得基于类的下一个元素

既然你已经有了这一系列的厄运,我想我们必须使用它。理想情况下,每个元素上都有相同的类。比如说,
.number

$(".number").on('click', function () {
    var nextID = baseline_next.indexOf(this.id) + 1;
});
如果您不能使用
.number
,那么您可以做同样的事情,除了需要绑定的每个ID的列表。。哎哟在上面的函数中,
nextID
应该是被单击元素后面的ID的索引


顺便说一下,id可以是数字,您甚至可以使用包含数字的
数据id
。那也会更容易。

好的,我真的需要问你为什么要这样做,你确定创建20多个ID是实现你想要的更好的方法吗

无论如何,首先,您可以用简写的方式创建数组:

var baseline_next= ["#one", "#two", "#four", "#five", "#six", "#six2" ..., "#twentythree";
(顺便说一句,是吗?)

然后像这样做:

var counter = 0; // start for the first one
$("#button").on('click', function () {
    var id = counter++;
    baseline[id]; // and I don't know what you want to do with this, but here it is!
});
古老的问题。(7年)。下面是一些逻辑,我使用
indexOf
确定数组中的下一项。当您到达阵列的末尾时,这也将从头开始

        let options = [true,false,null];
        let current = options.indexOf(this.get('order'));
        let next = (current+1 > options.length-1 ? 0 : current+1);
        this.set('order', options[next]);

它可以简化如下:

let baseline_next = ["#one", "#two", "#three"];
不要使用
var
,因为它的行为不可预测

添加变量
count
,以更改数组的索引

let count = 0;
let baseline_next = ["#one", "#two", "#three"];
$(baseline_next[count]).click(function() {
    count++;
});


尽量不要使用自然语言ID,而是可以通过编程处理的东西(例如使用
parseInt
),因此.number将是下一个按钮类?@user2089255正确,它们都将
.number
作为一个类。
let count = 0;
let baseline_next = ["#one", "#two", "#three"];
$("#one").click(function() {
    $(baseline_next[count]).click();
    count++;
});