提问人:deniz 提问时间:10/26/2023 更新时间:10/26/2023 访问量:26
为什么我的选择元素没有更改选项?
Why is my select element not changing options?
问:
我正在使用 Jquery 和 Jquery-UI 1.7.2。代码本身是一个篡改脚本,其中包含GM_setValue所需的授权,并且已经编写GM_getValue。有问题的代码部分是 select 元素应更新的部分,以便在文档开头将所选选项作为保存在 GM 中的选项。select 元素根本不显示已保存的选项,而是保留在默认的第一个选项上。我几乎尝试了所有方法,但不知道代码出了什么问题。
我尝试调试我的代码并尝试使用不同的方法来实现我想要的东西,但似乎没有任何效果。我还检查了与此类似的其他问题,但其他帖子的解决方案似乎不适用于我的情况。
<div class="feature-select" id="element-type">
<select>
<option value="water" selected>Water</option>
<option value="earth">Earth</option>
<option value="land">Land</option>
<option>
</select>
</div>
$('.feature-select').each(function() {
this.value = GM_getValue(`velocity.data.${$(this).attr('id').split("-")[0]}.type`, "")
$(this).addEventListener('change', function (e) {GM.setValue(`velocity.data.${$(this).attr('id').split("-")[0]}.type`, e.target.value); console.log(e.target.value)});
})
答:
2赞
Samiya Afzal Minhas
10/26/2023
#1
看起来您正在尝试更改外部容器的值。特别是类 .feature-select。但是,应以内部元素为目标以更新其值。
您同时使用旧的 (GM_getValue) 和新的 (GM.setValue) Tampermonkey API。您应该坚持使用一个版本,无论是所有旧式还是所有新式方法,以获得更有效的方法。希望这会有所帮助
评论
0赞
deniz
10/26/2023
感谢上述内容,现在正在检查实际的 select 元素而不是容器 div。但是,现在该值在设置时变得没有任何值,但对它被设置为的值使用 console.log 是不同的值。如何解决此问题?
0赞
Death-is-the-real-truth
10/26/2023
@deniz请更新您的问题,以显示您已经在最小可重现示例中尝试过的内容。
评论