2011-04-17 26 views
0

我有一个问题阵列移除时,我尝试创建选中的复选框的数组。问题中添加和使用jQuery和复选框

的复选框由调用javascript函数添加或在阵列中删除“的onChange”属性动态生成的。该函数获得“talla”,它是添加或删除的值。

这是我对功能的JavaScript代码:(arrayTallas是全球性的)

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

谢谢,这是主要的问题,现在一切工作正常 – codiaf 2011-04-18 00:01:18

回答

0

如果您正在使用jQuery无论如何,为什么不使用这样的功能:

$('#tallas').live('click', function(){ 
    $(':checkbox:checked').map(function() { 
    return this.value; 
    }).get().join(','); 
}); 
0

我想你的意思是说:

jQuery('#id_' + talla) 

你说其中:

jQuery('#id_talla') 

同时检查,以确保您不具有多个复选框具有相同id属性。