XFA - Choice list has no selected value by default
This commit is contained in:
parent
3f02a46570
commit
1de133a7c9
@ -1046,6 +1046,7 @@ class ChoiceList extends XFAObject {
|
|||||||
const displayed = items.children[displayedIndex][$toHTML]().html;
|
const displayed = items.children[displayedIndex][$toHTML]().html;
|
||||||
const values = items.children[saveIndex][$toHTML]().html;
|
const values = items.children[saveIndex][$toHTML]().html;
|
||||||
|
|
||||||
|
let selected = false;
|
||||||
const value = (field.value && field.value[$text]()) || "";
|
const value = (field.value && field.value[$text]()) || "";
|
||||||
for (let i = 0, ii = displayed.length; i < ii; i++) {
|
for (let i = 0, ii = displayed.length; i < ii; i++) {
|
||||||
const option = {
|
const option = {
|
||||||
@ -1056,10 +1057,21 @@ class ChoiceList extends XFAObject {
|
|||||||
value: displayed[i],
|
value: displayed[i],
|
||||||
};
|
};
|
||||||
if (values[i] === value) {
|
if (values[i] === value) {
|
||||||
option.attributes.selected = true;
|
option.attributes.selected = selected = true;
|
||||||
}
|
}
|
||||||
children.push(option);
|
children.push(option);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!selected) {
|
||||||
|
children.splice(0, 0, {
|
||||||
|
name: "option",
|
||||||
|
attributes: {
|
||||||
|
hidden: true,
|
||||||
|
selected: true,
|
||||||
|
},
|
||||||
|
value: " ",
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const selectAttributes = {
|
const selectAttributes = {
|
||||||
|
Loading…
Reference in New Issue
Block a user