当我尝试创建一个已选中复选框的数组时出现问题。
复选框是使用“onChange”属性动态生成的,该属性调用javascript函数在数组中添加或删除。该函数得到“talla”,它是要添加或删除的值。
这是我的函数的javascript代码:(arrayTallas是global)
function checkbox_marcado(talla)
{
if(jQuery('#id_talla').is(':checked') == true)
{
arrayTallas.push(talla);
}
else //elimina posicion del array al deseleccionar un checkbox
{
var index = arrayTallas.indexOf(talla);
arrayTallas.splice(index,1);
}
}
问题是第一个复选框工作正常,但其他复选框不会被删除。
例如。如果我有3个复选框,值为“1”“2”“3”,如果我点击第一个,它会正常添加,如果我再次点击它,它也会正常删除...但如果我点击第一个,然后是第二个,当我再次点击第二个从数组中删除它时,当我打印数组时,这就是我得到的:1 2 2
谢谢
答案 0 :(得分:0)
如果你还在使用jQuery,为什么不使用这样的函数:
$('#tallas').live('click', function(){
$(':checkbox:checked').map(function() {
return this.value;
}).get().join(',');
});
答案 1 :(得分:0)
我想你的意思是说:
jQuery('#id_' + talla)
你在说:
jQuery('#id_talla')
同时检查以确保没有多个具有相同id
属性的复选框。