gpt4 book ai didi

javascript - 我可以在 onclick 中使用 if else 语句吗?

转载 作者:行者123 更新时间:2023-12-03 03:14:30 24 4
gpt4 key购买 nike

我想按字符串属性值对对象数组进行排序。因此,如果我单击按钮,值就会被排序。但只有第一个 if 语句有效。如果我将 else if 语句更改为第一个 if 语句,它会起作用,但无论我做什么,只有第一个 if 语句起作用。我应该更改什么才能使所有三个按钮都起作用?

var members = [{
name: "jar",
join: "2017-2",
sex: "f",
age: "29"
}, {
name: "hrk",
join: "2017-8",
sex: "f",
age: "21"
}, {
name: "jjk",
join: "2014-6",
sex: "m",
age: "27"
}, {
name: "jsh",
join: "2016-5",
sex: "m",
age: "37"
}, {
name: "kks",
join: "2014-4",
sex: "f",
age: "42"
}];
var list = "";


function func() {
for (var i = 0; i < members.length; i++) {
var val = document.getElementById('form').ans.value;

if (members[i].join >= val || members[i].name == val || members[i].sex == val || members[i].age == val) {

for (var key in members[i]) {
if (key === "name" || key === "join" || key === "sex") {

if (document.getElementById("namebtn").onclick) {
var namesort = function(a, b) {
if (a.name > b.name) {
return 1;
} else if (a.name < b.name) {
return -1;
}
return 0;
}
members.sort(namesort);
} else if (document.getElementById("joinbtn").onclick) {
var joinsort = function(a, b) {
if (a.join > b.join) {
return 1;
} else if (a.join < b.join) {
return -1;
}
return 0;
}
members.sort(joinsort);
} else if (document.getElementById("joinbtn").onclick) {
var agesort = function(a, b) {
if (a.age > b.age) {
return 1;
} else if (a.age < b.age) {
return -1;
}
return 0;
}
members.sort(agesort);
}
br = " ";
} else {
br = "<br>";
}
list += members[i][key] + br;

}
}
}
document.getElementById("title").innerHTML = title;
document.getElementById("who").innerHTML = list;
return false;
}
<p id="title"></p>
<p id="who"></p>
<form action="#" id="form">
<input type="text" name="ans" placeholder="year">
<input type="submit" value="search" id="sub">
</form>
<br>
<input type="submit" onclick="func()" id="namebtn">
<input type="submit" onclick="func()" id="joinbtn">
<input type="submit" onclick="func()" id="agebtn">

最佳答案

if (document.getElementById('namebtn').onclick)由于属性为真,因此将始终为真。

您是否想检查单击了哪个按钮?如果是这样的话,你的 func 可能应该有一个 idevent参数( function func(btnId or e) { ... } ),然后传递 this.idfunc :

<input type="submit" onclick="func(this.id or event)" id="namebtn">

关于javascript - 我可以在 onclick 中使用 if else 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46823653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com