我在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”〜#one)时,我需要下一个按钮id成为两个,当再次点击时,它需要成为#three。我不知道如何将数组链接到按钮。我需要这样做的原因是因为我使用ajax来.load 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;
}
});
如果我的问题难以理解,我必须提前道歉,我今年刚刚开始编码。
答案 0 :(得分:0)
我认为您应该考虑重新编写代码以使其不具有此ID列表,并在所有元素上使用单个类。这将有助于了解如何设置HTML以获得基于类的下一个元素。
虽然你已经有了这个厄运数组,但我想我们必须使用它。理想情况下,每个元素都有相同的类。比方说,.number
。
$(".number").on('click', function () {
var nextID = baseline_next.indexOf(this.id) + 1;
});
如果你不能使用.number
,那么你可以做同样的事情,除了每个需要绑定的ID列表。哎哟。在上面的函数中,nextID
应该是单击元素后面的ID的索引。
顺便说一句,ID可以是数字,您甚至可以使用包含该数字的data-id
。这也会更容易。
答案 1 :(得分:0)
好的,我真的需要问你为什么要这样做,你确定创建超过20个被称为“更好的方式”的想法吗?
无论如何,首先,您可以用速记方式创建数组:
var baseline_next= ["#one", "#two", "#four", "#five", "#six", "#six2" ..., "#twentythree";
(顺便说一句“#six2”?真的吗?)
然后做这样的事情:
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!
});
答案 2 :(得分:0)
古老的问题。 (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]);
答案 3 :(得分:0)
可以简化如下:
def current_pypi_version(package: str) -> str:
req = urllib.request.Request(f'https://pypi.python.org/pypi/{package}/json')
r = urllib.request.urlopen(req)
if r.code == 200:
t = json.loads(r.read())
releases = t.get('releases', [])
if releases:
return sorted(releases)[-1]
请勿使用let baseline_next = ["#one", "#two", "#three"];
,因为它的行为异常。
添加变量var
来更改数组的索引。
count
或
let count = 0;
let baseline_next = ["#one", "#two", "#three"];
$(baseline_next[count]).click(function() {
count++;
});