gpt4 book ai didi

javascript - 如果仅选中 1 个复选框,则启用按钮。否则禁用按钮

转载 作者:行者123 更新时间:2023-11-30 19:43:55 24 4
gpt4 key购买 nike

import { Component } from '@angular/core';


@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {



title = "Angular 2 - enable button based on checkboxes";
checkboxes = [{label: 'one',selected:false},


{label: 'two',selected:false}

];
selectedFileList:any[]=[];
checkClicked(event: Event, i) {
if (event.target['checked']) {

this.selectedFileList.push(i);

console.log("selected checkBox is: "+this.selectedFileList);

}
else {
let index = this.selectedFileList.indexOf(i);
if (index !== -1) this.selectedFileList.splice(index, 1);
console.log("inside else")
this.selectedFileList=[];

}
}


constructor() { console.clear(); }
buttonState() {
// console.log('buttonState() called');
return !this.checkboxes.some(cb => cb.selected) && (this.selectedFileList.length=1);
}
get debug() {
return JSON.stringify(this.checkboxes);
}

}

我正在检查 selectedFileList 的长度以检查是否选择了超过 1 个 cb 但无法这样做请帮忙。

仅当选择 1 个 cb 时才应启用按钮,如果选择 0 个或超过 1 个则应禁用按钮

堆栈 Blitz : https://stackblitz.com/edit/angular-cjccyp?file=src%2Fapp%2Fapp.component.ts

最佳答案

改变

!this.checkboxes.some(cb => cb.selected)

this.checkboxes.filter(cb => cb.selected).length === 1

您还可以在 this.selectedFileList.length=1

中分配(不检查) 1

关于javascript - 如果仅选中 1 个复选框,则启用按钮。否则禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55121446/

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