fix selected values in list-multi form fields (#1101)
This commit is contained in:
parent
a33b451b73
commit
63764a7d51
@ -814,5 +814,21 @@
|
||||
const replacement = 'geo:$1,$2';
|
||||
return text.replace(_converse.geouri_regex, replacement);
|
||||
};
|
||||
|
||||
u.getSelectValues = function(select) {
|
||||
var result = [];
|
||||
var options = select && select.options;
|
||||
var opt;
|
||||
|
||||
for (var i=0, iLen=options.length; i<iLen; i++) {
|
||||
opt = options[i];
|
||||
|
||||
if (opt.selected) {
|
||||
result.push(opt.value || opt.text);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
return u;
|
||||
}));
|
||||
|
@ -58,8 +58,10 @@
|
||||
let value;
|
||||
if (field.getAttribute('type') === 'checkbox') {
|
||||
value = field.checked && 1 || 0;
|
||||
} else if (field.tagName == "textarea") {
|
||||
} else if (field.tagName == "TEXTAREA") {
|
||||
value = _.filter(field.value.split('\n'), _.trim);
|
||||
} else if (field.tagName == "SELECT") {
|
||||
value = u.getSelectValues(field);
|
||||
} else {
|
||||
value = field.value;
|
||||
}
|
||||
@ -96,7 +98,7 @@
|
||||
return tpl_select_option({
|
||||
'value': value,
|
||||
'label': option.getAttribute('label'),
|
||||
'selected': _.startsWith(values, value),
|
||||
'selected': values.includes(value),
|
||||
'required': !_.isNil(field.querySelector('required'))
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user