Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从下拉菜单(Javascript)中的选定选项获取数组_Javascript - Fatal编程技术网

无法从下拉菜单(Javascript)中的选定选项获取数组

无法从下拉菜单(Javascript)中的选定选项获取数组,javascript,Javascript,当我在下拉菜单中选择一个选项时,我希望它显示它的值。问题是每个可用选项的值都是Flask中的值列表。例如:“{column1}}”的值不带双引号-“['abc','def','ghi']”。因此,当我选择一个选项时,它只返回列表的第一项。例如(不带双引号):“[‘abc’,” 返回完整的值列表是否有解决方法 <script> function showOptions(s) { alert(s[s.selectedIndex].value); alert(s[s

当我在下拉菜单中选择一个选项时,我希望它显示它的值。问题是每个可用选项的值都是Flask中的值列表。例如:“{column1}}”的值不带双引号-“['abc','def','ghi']”。因此,当我选择一个选项时,它只返回列表的第一项。例如(不带双引号):“[‘abc’,”

返回完整的值列表是否有解决方法

<script>
    function showOptions(s) {
    alert(s[s.selectedIndex].value);
    alert(s[s.selectedIndex].id);
    }
</script>

<select  onchange="showOptions(this)" id="my_select2">
    <option value={{ column1 }} id={{ column1 }}>{{ label_a1 }}</option>
    <option value={{ column2 }} id={{ column2 }}>{{ label_b1 }}</option>
</select>

功能显示选项{
警报(s[s.selectedIndex].value);
警报(s[s.selectedIndex].id);
}
{{label_a1}}
{{label_b1}}

您想更改每个
值={{{column1}}id={{{column1}}
{{…}}周围换行双引号

否则,您的值将与以下内容完全相同:
value=['abc',def','ghi']
,这意味着
value=['abc',
(空格结束指定的值,因为没有双引号来分隔它们)

换句话说,从

功能显示选项{
警报(s[s.selectedIndex].value);
警报(s[s.selectedIndex].id);
}

{{label_a1}}
{{label_b1}}

为什么在您的问题中标记python?请显示最终的HTML,而不是模板源代码。并删除不相关的标记(python、flask)。我猜您的HTML看起来是这样的:
value=['abc'、'def'、'ghi']
;这是无效的,但浏览器很宽松,它被解析为
value=“['abc',”
我标记了Python,因为如前所述,我的值来自Flask。它们来自何处并不重要。重要的是a)最终的HTML看起来如何,发送到浏览器的代码b)JS代码对它有什么影响。其他一切都是噪音。完美,Cid!快速轻松地解决问题!谢谢。
value={{ column1 }} id={{ column1 }}
value="{{ column1 }}" id="{{ column1 }}"