gpt4 book ai didi

javascript - 如何在多个按钮中使用相同的功能以获得相同的结果?

转载 作者:行者123 更新时间:2023-11-28 14:06:27 26 4
gpt4 key购买 nike

我正在尝试在多个 ID 中创建 onlick 函数,它在一个 ID 中有效,但在其他 ID 中无效。我知道有人会建议我使用不同的 onclick 函数以及单独的 ID,但我只想在所有 div 元素中使用具有相同 ID 的一个 onclick 函数。

我希望有人创建具有单个函数和单个 id 的 Javascript,以便在所有三个按钮中获得相同的结果。

只需检查下面我的代码;

function copy() {
document.getElementById("label").innerHTML = document.getElementById("mySelect").value;
}
.dropdown {
position: relative;
display: inline-block;
}

.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
padding: 12px 16px;
z-index: 1;
}

.dropdown:hover .dropdown-content {
display: block;
}
<!DOCTYPE html>
<html>

<head>
<style>

</style>
</head>

<body>

<div class="dropdown">
<p id="label">Mouse over me</p>
<div class="dropdown-content">
<select id="mySelect">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>

<button onClick="copy();">Add</button>

</div>
</div>


<div class="dropdown">
<p id="label">Mouse over me</p>
<div class="dropdown-content">
<select id="mySelect">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>

<button onClick="copy();">Add</button>

</div>
</div>

<div class="dropdown">
<p id="label">Mouse over me</p>
<div class="dropdown-content">
<select id="mySelect">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>

<button onClick="copy();">Add</button>

</div>
</div>
</body>

</html>

最佳答案

您可以使用 .closest() 从实际部分定位正确的元素,例如

<button onClick="copy(this);">Add</button>

function copy(el) {
var dd = el.closest('.dropdown');
dd.querySelector('p').innerHTML = dd.querySelector('select').value;
}

var copy = function(el) {
var dd = el.closest('.dropdown');
dd.querySelector('p').innerHTML = dd.querySelector('select').value;
}
<div class="dropdown">
<p id="label">Mouse over me</p>
<div class="dropdown-content">
<select id="mySelect">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>

<button onClick="copy(this);">Add</button>

</div>
</div>

<div class="dropdown">
<p id="label">Mouse over me</p>
<div class="dropdown-content">
<select id="mySelect">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>

<button onClick="copy(this);">Add</button>

</div>
</div>

关于javascript - 如何在多个按钮中使用相同的功能以获得相同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57183837/

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