luci-base: form.js / ui.js: tie form labels to widgets
Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit 22ba6fc40933bee02c3ea93bbda952bb44bf3af1)
This commit is contained in:
parent
573fdc0452
commit
82fb5a67d3
2 changed files with 12 additions and 2 deletions
|
@ -1644,7 +1644,16 @@ var CBIValue = CBIAbstractValue.extend({
|
|||
if (typeof(this.title) === 'string' && this.title !== '') {
|
||||
optionEl.appendChild(E('label', {
|
||||
'class': 'cbi-value-title',
|
||||
'for': 'widget.cbid.%s.%s.%s'.format(config_name, section_id, this.option)
|
||||
'for': 'widget.cbid.%s.%s.%s'.format(config_name, section_id, this.option),
|
||||
'click': function(ev) {
|
||||
var node = ev.currentTarget,
|
||||
elem = node.nextElementSibling.querySelector('#' + node.getAttribute('for')) || node.nextElementSibling.querySelector('[data-widget-id="' + node.getAttribute('for') + '"]');
|
||||
|
||||
if (elem) {
|
||||
elem.click();
|
||||
elem.focus();
|
||||
}
|
||||
}
|
||||
},
|
||||
this.titleref ? E('a', {
|
||||
'class': 'cbi-title-ref',
|
||||
|
|
|
@ -236,7 +236,8 @@ var UICheckbox = UIElement.extend({
|
|||
'name': this.options.name,
|
||||
'type': 'checkbox',
|
||||
'value': this.options.value_enabled,
|
||||
'checked': (this.value == this.options.value_enabled) ? '' : null
|
||||
'checked': (this.value == this.options.value_enabled) ? '' : null,
|
||||
'data-widget-id': this.options.id ? 'widget.' + this.options.id : null
|
||||
}));
|
||||
|
||||
frameEl.appendChild(E('label', { 'for': id }));
|
||||
|
|
Loading…
Reference in a new issue