javascript - 更新 onChange 事件并触发 onChange 事件 javascript

标签 javascript django

我有一个带有多个选项的选择元素,如下所示:

<select onChange="foo(this)">
   <option value="ok" selected>..</option>
   ....
   <option value="no">..</option>

我正在使用 django (不知道这是否真的很重要..)并且在 select 标记的 onChange 事件中我应该放置 window.location.href=this.value 但是这不是我想要的,因为我需要对 this.value..

进行一些更改

我的想法是创建一个传递选择项的 foo 函数,然后修改 onChange 事件并随后触发它。

我搜索了一些帮助,发现了几个选项.. 1) How can I trigger an onchange event manually?

2) Trigger "onchange" event

以及其他我不记得但我在示例中使用的示例。 他们都不为我工作。

这是我迄今为止在 foo 函数中尝试过的:

<script>
    function foo(obj)
    {
        if (condition)
        {
            obj.onChange = "window.location.href="+ obj.value;
            //obj.onChange(); //1 option I found on the net was to call onChange this way 
        }
        else
        {
            obj.onChange = "window.location.href="+ obj.value.replace('/A/', '/R/'); // this is the update I need to apply based on the condition

            //obj.fireEvent("onChange"); // another solution

            // another solution
            if ("createEvent" in document) {
                var evt = document.createEvent("HTMLEvents");
                evt.initEvent("change", false, true);
                obj.dispatchEvent(evt);
            }
            else {
                obj.fireEvent("onchange");
            }
        }
    }
</script>

最佳答案

如果我没有遗漏任何内容,您不必手动触发 onchange,因为它已经触发了。您只需从 foo 函数返回修改后的值即可。

因此,不要使用 obj.onChange = 尝试 return 并删除整个 createEvent 代码。

<script>
function foo(obj)
{
    if (condition)
    {
        return obj.value;
    }
    else
    {
        return obj.value.replace('/A/', '/R/');
    }
}

在你的 foo 上调用 onchange="window.location.href=foo(this)"

关于javascript - 更新 onChange 事件并触发 onChange 事件 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57701090/

相关文章:

python 形式

python - 模型字段值未更新 m2m_changed(Django)

python - 在 Django 请求 header 中访问用户名和密码返回 None

javascript - 无法使用javascript查找没有空格的字符串长度

javascript - 道场宣告正确方式

javascript - 如何在 Django bool 字段中使用切换开关?

django - 如何将复杂的 Django 查询构建为字符串

javascript - jQuery 页面动画让按钮跳转

javascript - 将属性写入 cookie

javascript - 创建一个函数来组合嵌套数组而无需递归