Javascript 在下拉列表(选项选择器)上添加事件

Javascript 在下拉列表(选项选择器)上添加事件,javascript,jquery,html,Javascript,Jquery,Html,给定一个下拉列表,是否有任何方法可以订阅javascript,即使在列表中添加新项时会触发javascript 我希望下面这样的工作 $("select").itemAdded(function(value, text) { alert(text + " has just been added to the list of options"); }); $("select").append($("<option></option").val("1").html("S

给定一个下拉列表,是否有任何方法可以订阅javascript,即使在列表中添加新项时会触发javascript

我希望下面这样的工作

$("select").itemAdded(function(value, text) { 
    alert(text + " has just been added to the list of options");
});

$("select").append($("<option></option").val("1").html("Something"));
//results in alert of "Something has just been added to the list of options"
$(“选择”).itemAdded(函数(值,文本){
警报(文本+“刚刚添加到选项列表中”);
});

$(“选择”).append($(“这应该适用于所有浏览器(包括浏览器,它是这类事情的一个bug)

编辑: 我应该停止懈怠,给你完整的代码,让它作为jQuery插件工作

(function($) {
    $.fn.add_option = function(options) {
        var config = {
            value:0,
            text:0
        }
        config = $.extend(config, options);
        return this.each(function() {
            var option = document.createElement("option");
            option.text = config.text;
            option.value = config.value;
            $(this)[0].options.add(option);
            alert(config.text+ " has just been added to the list of options");
        }
    }
})(jQuery);
$(document).ready(function() {
    $('#id_of_select_dropdown').add_option({text:'My new text value', value:'new'});
});

这应该适用于所有浏览器(包括浏览器,这是一个关于这类事情的bug)

编辑: 我应该停止懈怠,给你完整的代码,让它作为jQuery插件工作

(function($) {
    $.fn.add_option = function(options) {
        var config = {
            value:0,
            text:0
        }
        config = $.extend(config, options);
        return this.each(function() {
            var option = document.createElement("option");
            option.text = config.text;
            option.value = config.value;
            $(this)[0].options.add(option);
            alert(config.text+ " has just been added to the list of options");
        }
    }
})(jQuery);
$(document).ready(function() {
    $('#id_of_select_dropdown').add_option({text:'My new text value', value:'new'});
});

我不完全清楚为什么有人认为这是投反对票的理由——据我所知,我所写的没有错。它根本没有回答他提出的问题。他已经知道如何添加选项;事实上,问题包括这样做的代码。他希望事件处理程序在发生时让他知道。你的答案没有这样做。我给了你一个努力的投票,但Craig是对的,它没有回答这个问题,我感兴趣的是当一个选项被添加到一个select中时,可以以任何方式添加该选项。我在我编写的代码中添加了一个警报,这样你就可以看到通知可以添加到该方法中的位置。只要你使用该选项,我就可以添加选项的方法你应该能够得到通知-如果你想使用任何方法来添加选项,你就不走运了。任何方法都正是他所要求的。顺便说一句,我不知道有什么方法可以做到这一点,尽管有可能有一种方法存在。不完全确定为什么有人认为这需要投反对票-没有什么好的就我所见,他对我所写的内容感到不满。这根本不能回答他提出的问题。他已经知道如何添加选项;事实上,这个问题包含了执行该选项的代码。他希望事件处理程序在发生时通知他。你的回答不能做到这一点。我对你的努力投了赞成票,但Craig是对的,它没有回答问题在上,我感兴趣的是一种在向select添加选项时收到通知的方法,并且该选项可以以任何方式添加。我在我编写的代码中添加了一个警报,以便您可以查看可以将通知添加到方法中的位置。只要您使用该方法添加选项,您应该能够获得通知-如果您想使用任何m添加选项的方法论你运气不好。任何方法论都正是他想要的。顺便说一句,我不知道有什么方法可以做到这一点,尽管有可能有一种方法存在。