您好我正在使用功能
function prepareRadios(radioGroupName) {
var radios = document.getElementsByName(radioGroupName);
for( i = 0; i < radios.length; i++ ) {
document.getElementById(radios[i].id).onchange = function() {
radioUpdated(radioGroupName, radios[i].id);
};
}
}
问题是,onchange事件使用quote(radioGroupName,radios [i] .id)触发,而不是使用我的函数将这些值放入其中
我需要传递它们的值,而不是变量的名称
我做错了什么?
答案 0 :(得分:2)
这是closure-time:)
function prepareRadios(radioGroupName) {
var radios = document.getElementsByName(radioGroupName);
for( i = 0; i < radios.length; i++ ) {
document.getElementById(radios[i].id).onchange = (function(name, id) {
return function() { radioUpdated(name, id); }
})(radioGroupName, radios[i].id);
}
}