如何设置 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 %}
对于我在移动设备上的格式表示歉意
我目前正在使用 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 %}
对于我在移动设备上的格式表示歉意