这是我要完成的工作:在以下mappings2
对象中,键是一些分组单选按钮的名称属性,值是一个列表,其中第一个字符串是一个附加到收音机的类(可能不止一个)在该组中,我们将此单选按钮称为特殊单选,第二个字符串是一个类,其元素必须在单击特殊单选时启用,下面的代码应该在一组单选的更改事件之间切换,让单击特殊无线电时执行一些代码,单击该组中的其他非特殊无线电时执行不同的代码。
var mappings2 = {
// Group's name special-radio's class other radios
'DependientesEconomicos': ['hijos-dependientes', 'cuantos-hijos'],
'Preparatoria': ['otra-prepa', 'nombre-prepa'],
'ReproboAlgunaMateria': ['reprobo', 'causas-reprobo']
//'CausasReprobo': ['otra-causa-reprobo', 'otra-causa-reprobo-text']
};
(function (maps) {
for (grupo in maps) {
$('input[name="' + grupo + '"]').change(function (e) {
if ($(this).attr('class') === maps[grupo][0]) {
console.log(grupo + ' ' + $(this).attr('class') + ' true');
$('.' + maps[grupo][1]).attr('disabled', false);
} else {
$('.' + maps[grupo][1]).attr('disabled', true);
console.log(grupo + ' ' + $(this).attr('class'));
$('.' + maps[grupo][1]).val('');
}
});
}
})(mappings2);
该代码适用于一个条目,mappings2
但是当您添加更多时,只有最后一个条目有效,如果您单击以前组中的一个收音机,日志会显示正确的类,但grupo
不是它所属的组,它会显示最后一个条目的组,所以这是所有错误的来源,我的问题是为什么。
jQuery 1.5.1
谢谢。