I am trying to Enable/Disable
a group of time
inputs in Blazor based on a checkbox
; while for inputs
of type button
To disable elements you should use the disabled attribute.
I've modified your code a bit and this will do what you're after. Blazor will automatically add or remove the disabled
attribute based on the IsDisabled
value.
You should use the disabled attribute on your button as well. It's a much better practice.
<button type="button" disabled="@IsDisabled"></button>
<input bind="@IsDisabled" type="checkbox" />
<input disabled="@IsDisabled" type="time" />
@code{
protected bool IsDisabled { get; set; }
}
You can still combine this with applying a CSS class for styling the disabled element. It's up to you.
There is an alternative way you can achieve this.
<fieldset disabled=@ShouldBeDisabled>
Your input controls in here will be disabled/enabled by the browser
</fieldset>
You can also get the value to disable the button directly as an expression
<input disabled="@(MyCondition ? true : false)" type="checkbox" />