为什么我的选择元素没有更改选项?

问题描述 投票:0回答:1

我正在使用 Jquery 和 Jquery-UI 1.7.2。代码本身是一个 tampermonkey 脚本,其中已经编写了 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)});
})

jquery jquery-ui drop-down-menu tampermonkey wkuserscript
1个回答
0
投票

看起来您正在尝试更改外部容器的值。特别是 .feature-select 类。但是,您应该定位内部元素来更新其值。

您同时使用旧的 (GM_getValue) 和新的 (GM.setValue) Tampermonkey API。您应该坚持使用一个版本,要么使用所有旧式方法,要么使用所有新式方法,以获得更有效的方法。希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.