I am passing values on checkbox chnages event in api.
I want to pass comma seprated values in URL on checkbox change like below example.
code=ABC,DEF,RED
and remove values on checkbox unchecked event like below example code=ABC,DEF
Can any one help me to do this.
Below is my code
JavaScript
x
8
1
onChange(event, Code) {
2
if (event.checked) {
3
this.newCode = Code;
4
} else {
5
this.newCode = '';
6
}
7
}
8
Advertisement
Answer
Simple solution could be.
in component.ts file
JavaScript
1
24
24
1
code: string;
2
selectedValues = [];
3
4
selectCheckBox(evt, val) {
5
const status = evt.target.checked;
6
7
if (status) {
8
this.selectedValues.push(val)
9
} else {
10
this.selectedValues = this.selectedValues.filter((v) => v!==val)
11
}
12
13
this.code = this.selectedValues.join(',')
14
}
15
16
onSubmit() {
17
let url = 'api.example.com/';
18
url = `${url}/&code=${this.code}`;
19
20
console.log(url);
21
22
// write you logic call api etc
23
}
24
In template
JavaScript
1
8
1
<ul>
2
<li><input type="checkbox" name="chbx1" value="AB" (change)="selectCheckBox($event, 'AB')"></li>
3
<li><input type="checkbox" name="chbx2" value="CD" (change)="selectCheckBox($event, 'BC')"></li>
4
<li><input type="checkbox" name="chbx3" value="ED" (change)="selectCheckBox($event, 'CD')"></li>
5
</ul>
6
7
<button type="button" (click)="onSubmit()">Submit</button>
8
Working DEMO
Hope this solve your issue.