Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改选择框中的值后无法触发更改_Javascript_Jquery_Events_Triggers - Fatal编程技术网

Javascript 更改选择框中的值后无法触发更改

Javascript 更改选择框中的值后无法触发更改,javascript,jquery,events,triggers,Javascript,Jquery,Events,Triggers,我试图在下拉框中更改一个值,然后触发该值更改时发生的事件。代码非常简单,如下所示: zScalerEndPointList.on("change", function(){ // Change the value $("select#phase1_type").val("string:ddns"); // Trigger the change $("select#phase1_type").trigger("change")

我试图在下拉框中更改一个值,然后触发该值更改时发生的事件。代码非常简单,如下所示:

    zScalerEndPointList.on("change", function(){
        // Change the value
        $("select#phase1_type").val("string:ddns");
        // Trigger the change
        $("select#phase1_type").trigger("change");
    })
已成功更改该值,但未触发该事件。如果使用jQuery记录对象,我可以看到附加的更改事件为null。但是,如果在Javascript控制台窗口中手动运行以下命令,则可以正常工作:

$("select#phase1_type").trigger("change");
对可能出现的问题有什么看法吗?我不拥有这个应用程序,这是一个通过TamperMonkey执行的Javascript

谢谢你的意见


/帕特里克

我不确定我抓到你了,但你可以用手表查看多普敦列表或类似的东西

 $scope.$watch(function () { return self.filter; }, function (newValue, oldValue) {
                        if (newFilter != oldFilter) {
                         // call trigger   
                        }
                    }, true);

原来这是一个重复的问题。这是我以前问过的。有点尴尬

通过以下功能解决此问题:

function triggerEvent(e, s){
    "use strict";
    var event = document.createEvent('HTMLEvents');
    event.initEvent(e, true, true);

    try {
        document.querySelector(s).dispatchEvent(event);
    } catch(err){
        console.log("Unable to fire event " + e + " on selector " + s);
        console.log(err);
    }
}
看起来这两个web应用程序都在使用某种Transpile框架,通过删除和重新向DOM添加元素,这让我的生活变得很艰难。希望这对其他人也有帮助


/Patrik

无法复制,代码工作正常:。如果您有问题,我们需要查看更多的代码,以便复制问题。我能想到的唯一可能导致此行为的原因是,如果您在触发事件后定义更改事件处理程序,则可能会重复