【问题标题】:Problem adding and removing in array with jquery and checkboxes使用 jquery 和复选框在数组中添加和删除问题
【发布时间】:2011-04-17 21:31:42
【问题描述】:

当我尝试创建一个选中的复选框数组时遇到问题。

复选框是使用“onChange”属性动态生成的,该属性调用javascript函数在数组中添加或删除。该函数得到“tala”,它是要添加或删除的值。

这是我的函数的 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);
        }
    }

问题是第一个复选框工作正常,但其他复选框没有被删除。

例如。如果 a 有 3 个值为“1”“2”“3”的复选框,如果我点击第一个,则它会正常添加,如果我再次点击它,它也会被正常删除......但如果我点击第一个,然后在第二个上,当我再次单击第二个以将其从数组中删除时,当我打印数组时,这就是我得到的:1 2 2

谢谢

【问题讨论】:

  • 谢谢这是主要问题,现在一切正常

标签: javascript jquery arrays checkbox


【解决方案1】:

如果你仍然使用 jQuery,为什么不使用这样的函数:

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

【讨论】:

    【解决方案2】:

    我想你的意思是:

    jQuery('#id_' + talla)
    

    你在说什么:

    jQuery('#id_talla')
    

    还要检查以确保您没有多个具有相同id 属性的复选框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-21
      • 2020-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      相关资源
      最近更新 更多