From c32d6dc8cbdb1c3aabb6215b28e56512c7b361a0 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Mon, 7 Aug 2023 17:19:16 -0700 Subject: [PATCH] Handle oninput for select elements --- packages/interpreter/src/interpreter.js | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/packages/interpreter/src/interpreter.js b/packages/interpreter/src/interpreter.js index 0a041df27..3517d2191 100644 --- a/packages/interpreter/src/interpreter.js +++ b/packages/interpreter/src/interpreter.js @@ -446,15 +446,24 @@ function handler(event, name, bubbles, config) { target.tagName === "FORM" && (event.type === "submit" || event.type === "input") ) { - if ( - target.tagName === "FORM" && - (event.type === "submit" || event.type === "input") - ) { - const formData = new FormData(target); + const formData = new FormData(target); - for (let name of formData.keys()) { - let value = formData.getAll(name); - contents.values[name] = value; + for (let name of formData.keys()) { + let value = formData.getAll(name); + contents.values[name] = value; + } + } + + if ( + target.tagName === "SELECT" && + event.type === "input" + ) { + const selectData = target.options; + contents.values["options"] = []; + for (let i = 0; i < selectData.length; i++) { + let option = selectData[i]; + if (option.selected) { + contents.values["options"].push(option.value.toString()); } } }