如何设置 select 选项等于 innerHTML

How to set select option equal to innerHTML

我目前正在使用 Flask 编写此代码。我的问题是我需要使选项值等于选项的内部文本。

{% for symb in symbol %}
<script src="/static/script.js"></script>
<option id="options" value="0">{{ symb["symbol"] }}</option>
{% endfor %}

这是 /static/script.js

的代码
let option = document.querySelector('option').text;
changeContent(option);
function changeContent(option)
{
     var opt = document.querySelector('option').options[0];
     opt.value = option;
}

如果我 运行 代码,该选项会显示 {{ symb["symbol"] }} 的实际文本。但是,它确实将其复制到选项值。

将此添加为更新评论的答案,因为它解决了问题并可能对其他人有所帮助

你的做法是错误的。而不是使用 JavaScript 来执行此操作,以

开头的正确值呈现您的模板

同样,您在 for 循环中包含了脚本标记。这可能不是你想要的,所以把它移到 for 之外。

例如

<script src="/static/script.js"></script> 
{% for symb in symbol %} 

<option id="options" value="{{symb["symbol"]}}">{{ symb["symbol"] }}</option> 
{% endfor %} 

对于我在移动设备上的格式表示歉意