2011-04-17 40 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屬性。