我目前正在使用 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 %}
对于我在移动设备上的格式表示歉意
关于javascript - 如何将选择选项设置为等于 innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62671913/