Today the checkbox styles work only if we place the label behind the input and connect them use id + for attribute:
<input type="checkbox" id="ch1" class="k-checkbox" checked />
<label class="k-checkbox-label" for="ch1">Checkbox 1</label>
Problem:
While it works most times, it quite difficult to ensure a unique id inside an angular component. We have to ensure, it's unique over all currently rendered components.
A clean solution would require something like this:
// MyComponent
let componentIndex = 0;
class MyComponent {
checkboxId: `my-component-${componentIndex++}-checkbox`;
}
// Template
<input type="checkbox" [id]="checkboxId" class="k-checkbox" checked />
<label class="k-checkbox-label" [for]="checkboxId">Checkbox 1</label>
Feature request:
Support implicit label association like so:
<label class="k-checkbox"><input type="checkbox" /> My label</label>
Hello folks!
As an update here, with the R1 2020 release we introduced the Kendo UI for Angular Checkbox directive. This is a part of the 6.4.0 release of our Inputs package. With the introduction of this directive there is way more flexibility with our checkboxes, including the desired behavior as mentioned in this thread!
I'll go ahead and mark this as complete :)
Regards,
Carl
Progress Telerik