javascript - 如何在选中的Angular 8复选框上加入逗号分隔字符串中的值
问题描述
我在 api 中的复选框 chnages 事件上传递值。
我想在复选框更改时在 URL 中传递逗号分隔值,如下例所示。
代码=ABC、DEF、RED
并删除复选框未选中事件的值,如下例 code=ABC,DEF
任何人都可以帮我做到这一点。
下面是我的代码
onChange(event, Code) {
if (event.checked) {
this.newCode = Code;
} else {
this.newCode = '';
}
}
解决方案
简单的解决方案可能是。
在 component.ts 文件中
code: string;
selectedValues = [];
selectCheckBox(evt, val) {
const status = evt.target.checked;
if (status) {
this.selectedValues.push(val)
} else {
this.selectedValues = this.selectedValues.filter((v) => v!==val)
}
this.code = this.selectedValues.join(',')
}
onSubmit() {
let url = 'api.example.com/';
url = `${url}/&code=${this.code}`;
console.log(url);
// write you logic call api etc
}
在模板中
<ul>
<li><input type="checkbox" name="chbx1" value="AB" (change)="selectCheckBox($event, 'AB')"></li>
<li><input type="checkbox" name="chbx2" value="CD" (change)="selectCheckBox($event, 'BC')"></li>
<li><input type="checkbox" name="chbx3" value="ED" (change)="selectCheckBox($event, 'CD')"></li>
</ul>
<button type="button" (click)="onSubmit()">Submit</button>
工作演示
希望这能解决您的问题。
推荐阅读
- sql - BigInt 不会转换为正确的日期格式
- c# - 如何在 .Net Core 中使用 Nancy 引导 Automapper?
- azure - 如何成功将 IR 网关连接到 Redshift 并拉取数据?
- javascript - 在一组动态创建的表格之间显示多条水平线
- javascript - 在 ASP.NET MVC 中格式化日期
- wpf - Powershell GUI,从 ListView 调用 Active Directory 的特定属性
- php - Laravel DB Max Connections 错误在单个 GET 请求中引发两次
- r - 查找一组(ID)中的连续出现
- docusignapi - Docusign 无法更新模板文档中的表单字段或自定义字段
- javascript - 在 JavaScript 中,我可以使用 style.left 属性来移动 div,但是当我使用 style.right 时它不起作用