簡體   English   中英

無法從下拉菜單 (Javascript) 中的選定選項中獲取數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM