Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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 使用onChange-on-Select选项_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript 使用onChange-on-Select选项

Javascript 使用onChange-on-Select选项,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我有一个动态填充的选择选项框,因此,如果我更改了选择选项,则会选择其他一些已填充的框,并且我也可以删除它们。 这也会从“选择”框中删除该选项,效果很好,但当我删除这些选项时,框中只剩下一个选项,似乎无法启动该选项 $("#email_name").on("change", function(){ var componentkeys = myDailyemail.getKeys($("#Component").val()); $.each(componentkeys, functi

我有一个动态填充的选择选项框,因此,如果我更改了选择选项,则会选择其他一些已填充的框,并且我也可以删除它们。 这也会从“选择”框中删除该选项,效果很好,但当我删除这些选项时,框中只剩下一个选项,似乎无法启动该选项

$("#email_name").on("change", function(){
    var componentkeys = myDailyemail.getKeys($("#Component").val());
    $.each(componentkeys, function(kIndex, kItem) {
        $("#key").append($("<option/>").val(kItem).text(kItem.toUpperCase()));
    });
});
您可以使用.trigger手动触发事件

在需要时插入以下内容

$("#email_name").trigger('change');

填充select元素后,可以自动触发更改事件,使其看起来就像用户已经选择了第一个选项一样

$("#email_name").on("change", function(){
    var componentkeys = myDailyemail.getKeys($("#Component").val());
    $.each(componentkeys, function(kIndex, kItem) {
        $("#key").append($("<option/>").val(kItem).text(kItem.toUpperCase()));
    });
    $("#key").trigger("change"); // trigger key
}).trigger("change"); // trigger email_name

我不确定您想要触发什么,所以我输入了两种可能性。

根据您发送的内容,我添加了一个新事件$email\u name.onclick,函数{if$email\u name>option.length==1{$email\u name.triggerchange;};