У меня есть кнопка, которая отправляет индекс изображения в функцию 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
Я также пытаюсь удалить правильный эскиз изображения, когда нажимаю на него.
Есть идеи, как решить эту проблему?