[英]Cannot get an array from a selected option in a dropdown menu (Javascript)
当我在下拉菜单中选择一个选项时,我希望它显示它的价值。 问题是每个可用选项的值都是来自 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>
您想更改每个value={{ column1 }} id={{ column1 }}
双引号括起来{{ ... }}
从
value={{ column1 }} id={{ column1 }}
到
value="{{ column1 }}" id="{{ column1 }}"
否则,您的值将完全像这样: value=['abc', 'def', 'ghi']
,这意味着value=['abc',
(空格结束分配的值,因为有没有双引号来分隔它们)
换言之,从
function showOptions(s) { alert(s[s.selectedIndex].value); alert(s[s.selectedIndex].id); }
<select onchange="showOptions(this)" id="my_select2"> <option value=['abc', 'def', 'ghi'] id=['abc', 'def', 'ghi']>{{ label_a1 }}</option> <!-- ^-----------^------ This is your value attribute --> <option value=['jkl', 'mno', 'pqr'] id=['jkl', 'mno', 'pqr']>{{ label_b1 }}</option> </select>
到
function showOptions(s) { alert(s[s.selectedIndex].value); alert(s[s.selectedIndex].id); }
<select onchange="showOptions(this)" id="my_select2"> <option value="['abc', 'def', 'ghi']" id="['abc', 'def', 'ghi']">{{ label_a1 }}</option> <!-- ^---------------------------^------ This is the value attribute you want --> <option value="['jkl', 'mno', 'pqr']" id="['jkl', 'mno', 'pqr']">{{ label_b1 }}</option> </select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.