Удалить все элементы индекса массива - PullRequest
0 голосов
/ 29 ноября 2018

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

Есть идеи, как решить эту проблему?

...