Skip to content

Set default state of a checkbox #405

Closed

Description

@chriscurnow

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.

Activity

  1. PatrickJS commented on Mar 11, 2016

    @PatrickJS
    Owner

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

  2. chriscurnow commented on Mar 12, 2016

    @chriscurnow
    ContributorAuthor

    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.

  3. PatrickJS commented on Mar 12, 2016

    @PatrickJS
    Owner

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

  4. chriscurnow commented on Mar 13, 2016

    @chriscurnow
    ContributorAuthor

    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.

  5. julioaze commented on Jan 13, 2017

    @julioaze

    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

  6. NabinKhatiwada commented on Mar 1, 2017

    @NabinKhatiwada

    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">

  7. Seanmclem commented on May 8, 2018

    @Seanmclem

    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

  8. sksandeep087 commented on May 30, 2018

    @sksandeep087

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

  9. saimzishan commented on Sep 17, 2018

    @saimzishan

    <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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions