删除所有数组索引元素

时间:2018-11-29 17:58:44

标签: javascript arrays delete-file array-splice

我有一个按钮,可将图像的索引发送到javascript函数。 这是一个简单的foreach循环,循环数据库中的图像行。

rImagem()接收我需要在数组imagens中擦除的索引作为参数。

PHP脚本:

<php foreach((array)$images_gallery as $key => $value): ?>
   if($value != null):
   <a href="#" onclick="rImagem('<?php echo $key;?>');return false;">Send</a>
<php endif;
endforeach;
?>

JavaScript:

function rImagem(data){
    data = data -1;
    var parse_obj = JSON.parse(document.getElementById('imagens').value);
    parse_obj.splice(data,1);
    console.log(parse_obj);
    new_string = JSON.stringify(parse_obj);
    document.getElementById('imagens').value = new_string;
    //console.log(Object.keys(document.getElementsByClassName("btn_remover")));
    var i = 1;
    if(document.getElementsByClassName("btn_remover").length == i){
    }
    else{
        document.getElementsByClassName("btn_remover")[data].remove();
    }
}

问题是阵列图像无法正确擦除。我永远无法擦除数组中仅剩一个元素(索引= 0)。而且我需要能够做到。

另一个问题是,有时我单击要删除的元素,它会删除数组中的下一个索引,而不是单击的元素索引。

splice方法为数组重新索引,delete方法保持数组不变。但是到目前为止,这些方法都没有起作用。

使用btn_remover时,我也尝试在单击时删除正确的图像缩略图。

有解决此问题的想法吗?

0 个答案:

没有答案