javascript - 保存多次点击的值并内联获取所有值
问题描述
我的页面上有多个按钮。我想获取这些值并显示在一行中。我怎么做。
我有 3 个按钮,onclick 他们返回这些值:
- 黑暗的 :
returns 'scoop'
- 危险 :
returns 'swoosh'
- 警告 :
returns 'spoon'
我有一个大按钮(信息),点击我希望它返回:scoop&swoosh&spoon
我怎么做?
let val;
$('#one').on('click', function(){
val = 'scoop';
});
$('#two').on('click', function(){
val = 'swoosh';
});
$('#three').on('click', function(){
val = 'spoon';
});
$('#main').on('click', function(){
console.log(val);
//Expected value: scoop&swoosh&spoon
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
<div><button id="one" type="button" class="btn btn-dark m-3">Dark</button></div>
<div><button id="two" type="button" class="btn btn-danger m-3">Danger</button></div>
<div><button id="three" type="button" class="btn btn-warning m-3">Warning</button></div>
<hr />
<div><button id="main" type="button" class="btn btn-info btn-block">Info</button></div>
解决方案
目前,每次单击都会重置变量,分配一个新值。考虑使用数组并为每次点击更新一个新项目。
例子:
let val = [];
$('button').on('click', function() {
switch ($(this).attr("id")) {
case "one":
val.push('scoop');
break;
case "two":
val.push('scoop');
break;
case "three":
val.push('scoop');
break;
}
});
$('#main').on('click', function() {
console.log(val.join(" & "));
// Example Value: scoop & swoosh & spoon
// Clear the array
val = [];
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
<div><button id="one" type="button" class="btn btn-dark m-3">Dark</button></div>
<div><button id="two" type="button" class="btn btn-danger m-3">Danger</button></div>
<div><button id="three" type="button" class="btn btn-warning m-3">Warning</button></div>
<hr />
<div><button id="main" type="button" class="btn btn-info btn-block">Info</button></div>
推荐阅读
- javascript - VueJS 模板 - 在登录表单和注册表单之间翻转
- azure - 共享日历未显示在 Office 365 的 Azure 获取日历连接器中
- json - 如何将 JSON 字符串作为值嵌入 Kubernetes Secret
- javascript - 如何使用 fastify + nestjs + firebase 函数
- javascript - 如何从导入的数组中查找键值对?反应JS
- python - 如何使用 to_html 将 CSS 类(我的风格)应用于 Pandas DataFrame
- deployment - 我可以使用 SSDT 来简化新 SQL 表和存储过程的部署吗?
- php - 如何将显示的附加图像限制为仅显示一个?
- javascript - Duktape 有在 Linux 中执行外部程序的功能吗?
- javascript - 如何在反应中处理多个按钮单击,以知道单击了哪个