我有一个按钮,可将图像的索引发送到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
时,我也尝试在单击时删除正确的图像缩略图。
有解决此问题的想法吗?