Skip to content

Commit 05715a3

Browse files
author
Frank Pagan
committed
feat: support value-type array
1 parent 117894c commit 05715a3

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

src/getValue.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,19 @@ const getValue = (element) => {
2424
let inputs = [element]
2525
let name = element.getAttribute('name');
2626
if (name)
27-
inputs = document.querySelectorAll(`input[type="${el.type}"][name="${name}"]`);
27+
inputs = document.querySelectorAll(`input[type="${element.type}"][name="${name}"]`);
2828

2929

3030
if (inputs.length > 1) {
3131
value = [];
3232
inputs.forEach(el => {
33-
if (el.checked)
34-
value.push(el.value);
33+
if (el.checked) {
34+
let checkedValue = el.value
35+
if (prefix || suffix)
36+
checkedValue = prefix + checkedValue + suffix;
37+
38+
value.push(checkedValue);
39+
}
3540
});
3641
} else {
3742
if (element.checked)
@@ -57,7 +62,10 @@ const getValue = (element) => {
5762
let options = element.selectedOptions;
5863
value = [];
5964
for (let i = 0; i < options.length; i++) {
60-
value.push(options[i].value);
65+
let optionValue = options[i].value
66+
if (prefix || suffix)
67+
optionValue = prefix + optionValue + suffix;
68+
value.push(optionValue);
6169
}
6270
}
6371
else if (element.tagName == 'INPUT' || element.tagName == 'SELECT') {
@@ -78,8 +86,14 @@ const getValue = (element) => {
7886
else {
7987
value = element.innerHTML;
8088
}
81-
if (prefix || suffix)
82-
value = prefix + value + suffix;
89+
if (!Array.isArray(value)) {
90+
if (prefix || suffix)
91+
value = prefix + value + suffix;
92+
93+
if (element.getAttribute('value-type') == 'array')
94+
value = [value];
95+
}
96+
8397

8498
return value;
8599
};

0 commit comments

Comments
 (0)