Javascript 在下拉列表(选项选择器)上添加事件
给定一个下拉列表,是否有任何方法可以订阅javascript,即使在列表中添加新项时会触发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
$("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添加选项的方法论你运气不好。任何方法论都正是他想要的。顺便说一句,我不知道有什么方法可以做到这一点,尽管有可能有一种方法存在。