【发布时间】:2018-10-06 03:23:53
【问题描述】:
我想让 2 个函数选择和删除,但是当我单击选择它会触发函数删除并且我在控制台上看到值 NaN 时发生了错误。我该如何解决这个问题?
var collect = document.getElementById('collect');
collect.addEventListener('change', onChange);
collect.addEventListener('click', onDelete);
function onChange(event) {
var changeButton = event.target;
i = parseInt(changeButton.dataset.select);
console.log(i);
}
function onDelete(event) {
var deleteButton = event.target;
i = parseInt(deleteButton.dataset.delete);
console.log(i);
}
.card {
width: 300px;
height: 80px;
background-color: blue;
margin-bottom: 10px;
display: flex;
justify-content: space-between;
align-items: start;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="collect">
<div class="card">
<button data-delete='1'>Delete</button>
CARD 1
<select name="" id="" data-select='1'>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
<div class="card">
<button data-delete='2'>Delete</button>
CARD 2
<select name="" id="" data-select='2'>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
<div class="card">
<button data-delete='3'>Delete</button>
CARD 3
<select name="" id="" data-select='3'>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
</div>
另外,
第二个问题:我仍然不知道删除卡的最佳方法。我确实使用了 jquery $("button[data-delete='" + i + "']").parents('.card').remove();。但是好像不太好:(。你能帮帮我吗?
【问题讨论】:
-
你用 jquery 试过了吗?
-
我是新手,只知道一点jquery的功能,有什么建议吗?
-
@KenHoàng 你写的几乎是有道理的,但是从你想要实现的开始,然后你做了什么。当我们不知道目标时,很难帮助您:)
标签: javascript html