Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set default state of a checkbox #405

Closed
chriscurnow opened this issue Mar 9, 2016 · 9 comments
Closed

Set default state of a checkbox #405

chriscurnow opened this issue Mar 9, 2016 · 9 comments

Comments

@chriscurnow
Copy link
Contributor

This seems like a really stupid question but I just can't find the answer anywhere.

I want to set the initial state of a checkbox based the initial state of the data object.

Eg the data object may have an attribute "isAvailable" so I want to set the checkbox to match the value of isAvailable.

The problem I am having is that to set the initial state of a check box to checked you add the "checked" attribute to the form control.

(This seems silly as it would seem better to have used checked="true" as you can read the value of the checkbox by reading its "checked" value. Anyway that's not the way it is.)

So it looks like I would have to do an NgIf.

I'm sure there must be an easier way but I just can't find it.

@PatrickJS
Copy link
Owner

have you tried <input type="checkbox" [attr.checked]="isAvailable">

@chriscurnow
Copy link
Contributor Author

I hadn't tried it but I tried it just then and it didn't work:(
It's not too hard to do it with ngIf and I could even create a component to do it. It just seemed like there should be an easier way.

@PatrickJS
Copy link
Owner

here's a plnkr where I have it working
http://plnkr.co/edit/Hxy5Jz?p=preview

@chriscurnow
Copy link
Contributor Author

Well there you go. I must have been doing something wrong. I'll try again.

Thanks for taking the time to set up the demo. I really appreciate it.

@julioaze
Copy link

Hello, how could I make sure all checked checkboxes (isAvailable = true) are cleared at the click of the button?
I tried with your example, but isAvailable only has the state = true if you use (change) and in this case, when checking any checkbox, all others with [checked] = "isAvailable" are checked.
I need to check some random checkboxes and then uncheck the button click.
Any help will be appreciated

@NabinKhatiwada
Copy link

julioaze , u need to create different variable for each check box. It will work . Example;

.ts:
private isAppUser = true;
private isUser = true;
html:
<input type="checkbox" [checked]="isAppUser" value="isAppUser" (change)="isAppUser = $event.target.checked" formControlName="appUserFlag">

<input type="checkbox" [checked]="isUser" value="isUser" (change)="isUser= $event.target.checked" formControlName="aaa">

@Seanmclem
Copy link

In Angular 2+, If you're using template forms and/or ngModel then you can set default checkbox values right in the model you declare. When declaring the boolean values do something like this:

    isPublished: boolean = false;
    //or
    isFeatured: boolean= true;

when you load up the form with undefined values -they will default to what you set in the model

@sksandeep087
Copy link

Hello, Sir
Can you Help me , I want to use multiple checkBox byDefault selected.

@saimzishan
Copy link

saimzishan commented Sep 17, 2018

<ng-container *ngFor="let opt of option_set_ids">
<checkbox [checked]='true' [value]="opt.id">{{opt.value}}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants