Я схожу с ума. Я искал и искал несколько разных способов, я не получаю никаких ошибок, но я не могу заставить оператор if/else вызывать функцию, которую он должен вызывать. сама функция работает нормально, если вызвано иначе, просто не внутри оператора if, что происходит?if/else утверждение не вызывает функцию?
oops, ok Я удалил «var» во второй части, но он все еще ведет себя немного странно - что я хочу, чтобы это произошло, когда нажата кнопка подтверждения удаления, чтобы удалить элемент и закрыть покадрово. то, что он делает вместо этого, закрывает модальный, я должен щелкнуть delete второй раз, а затем он удалит элемент, и модально быстро всплывает.
Редактировать: Я изменил свой код, чтобы удалить прослушиватели событий, и вместо этого используйте onclick в html, чтобы узнать, не является ли эта проблема, но ее нет. im все еще имеет ту же проблему.
var clickedCancel = false;
var clickedDelete = false;
//buttons false by defaul
//if cancel button is clicked, set clickedcancel to true.
//if confirm delete button is clicked, set clicked delete to true
function cancelDeletion(){
clickedCancel = true;
}
function confirmDeletion(){
clickedDelete = true;
}
function deleteMovie(x){
//open modal
$('#modalContainerDelete').modal('toggle');
if (clickedDelete == true){
movies.splice(x,1);
addMovieToTable();
$('#modalContainerDelete').modal('hide');
} else if (clickedCancel == true) {
$('#modalContainerDelete').modal('hide');
}
};
Самая большая проблема, мое назначение мне нужна кнопка Удалить для удаления определенного элемента из массива, но я должен закодировать кнопку удаления в строке, и удалить ту же строку кнопку удалить, на, и эта часть кодируется следующим образом:
function addMovieToTable(){
table.innerHTML = "";
for (i=0;i<movies.length;i++){
var row = table.insertRow(0);
var cellTitle = row.insertCell(0);
var cellDirector = row.insertCell(1);
var cellDelete = row.insertCell(2);
cellTitle.innerHTML= movies[i].title;
cellDirector.innerHTML= movies[i].director;
var deleteStuff = "<button onclick='deleteMovie(" + i + ")'>Delete</button>";
cellDelete.innerHTML = deleteStuff;
}
}
часть с внутренней HTML и переменной I, является то, что я пытаюсь закодировать вокруг, я должен сделать это так, прежде чем удалить что-нибудь, модальные всплывающие окна, но это главная причина, по которой у меня возникают проблемы: я пытаюсь создать код вокруг этого, не разрушая настройку.
Удалить '' var' внутри click' обработчика, просто используйте 'clickedDelete = true; ' – Satpal
удалите' var' внутри обработчика кликов. вы снова и снова инициализируетесь –
omg hahaha спасибо, вау, я чувствую себя немым>.> –