Привет, на данный момент я пытаюсь использовать jQuery, чтобы получить идентификаторы нескольких полей с помощью ajax и отправить данные, чтобы удалить их с помощью php. Пока мне удалось удалить элемент, но я не могу удалить другие идентификаторы для примера и примера:
У меня есть цикл for, который будет получать информацию из базы данных:
for($i=0; $i < $data; $i++) { echo " <div class='list-item' data-action='delete' id='".$Data[$i]['ID']."'> <a class='title link' href='".$Data[$i]['URL']."' target='_blank'>".$Data[$i]['name']."</a> <span class='checkbox' id='".$Data[$i]['ID']."' value='".$Data[$i]['ID']."'></span> <div class='thumb'> <img src='".$Data[$i]['thumb']."' alt='' width='110' height='99'> <span class='attr'>".$Data[$i]['width'].'x'.$Data[$i]['height']."</span> <span class='size'>".$Data[$i]['size']."</span> </div> <div class='date'>".$Data[$i]['Date']."</div> </div> "; }
обратите внимание, как вы видите $ Data [$ i] ['ID'] с тем, что он распечатает:
<div class="list-item" data-action="delete" id="89"> <a class="title link" href="http://URL" target="_blank">NAME</a> <span class="checkbox" id="89" value="89"></span> <div class="thumb"> <img src="thumb.png" alt="" width="110" height="99"> <span class="attr">100x100</span> <span class="size">85.2 KB</span></div> <div class="date">2012-06-11 01:25:20</div> </div> <div class="list-item" data-action="delete" id="90"> <a class="title link" href="http://URL" target="_blank">NAME</a> <span class="checkbox" id="90" value="90"></span> <div class="thumb"> <img src="thumb.png" alt="" width="110" height="99"> <span class="attr">100x100</span> <span class="size">85.2 KB</span></div> <div class="date">2012-06-11 01:25:20</div> </div>
поэтому с этим я использую jQuery, чтобы добавить класс как для класса = «checkbox», так и для класса = «list-item» с selected
так, чтобы, когда событие click или .on (функция «click», оно будет подтверждать окно с надписью «Вы уверены, что хотите удалить?», если это нормально, тогда возьмите идентификатор элементов для каждого и опубликуйте данные с помощью ajax, чтобы элемент был удален мгновенно! Дело в том, что мне нужно, чтобы он работал с несколькими идентификаторами и имел это не добавляйте класс selected
ко всему классу = «checkbox» и class = «list-item», чтобы он был конкретным, как в, я выбираю элементы идентификаторов с 84,94,99 и 100, если я это сделаю все, что выбрано, должно иметь тот класс, который selected
не для каждого идентификатора
вот моя попытка попытаться заставить это работать
<script> $(function (){ $('.list-item').on('click', function(e) { $(this).addClass("selected"); if(window.confirm('Are you sure you want to remove?')) { id = $(this).attr("id"); //alert(id); $.ajax({ type: 'post', url: 'something.php?action=delete&id='+id, dataType: 'json', data: { }, success: function(data) { if(data.error === true) { $.errRorBar({ bdS: "error", html: data.message , delay: 5000 }); } else { $.errRorBar({ bdS: "success", html: data.message , delay: 5000}); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { $.errRorBar({ bdS: "error", html: "Opps! Something went wrong!" , delay: 5000 }); console.log(XMLHttpRequest); console.log(textStatus); console.log(errorThrown); // console.log(XMLHttpRequest.responseText); } }); return false; } }); }); </script>
Итак, как я могу это сделать и как я могу обновить обновление, чтобы скрыть или удалить его или что-то еще? На данный момент он удалит элемент из базы данных, но только один раз для одного элемента, который я выбрал, даже если у меня есть несколько элементов, я получаю возврат «не удалять»,
Кто-нибудь здесь может помочь мне? я думаю, что я что-то упустил, но, надеюсь, это было хорошее объяснение моей ситуации.
Изучив ваш код, я обнаружил несколько сбоев:
Решение. Создайте отдельную кнопку удаления и отправьте запрос нажатием этой кнопки.
Ваш код будет:
$('.list-item').click(function() { $(this).addClass('selected'); }); $(.delete).click(function() { var delIds = new Array(); $('.selected').each(function() { delIds.push($(this).attr('id')); }); $.ajax({ url: 'something.php?action=delete&id='+delIds.join(), dataType: 'json', success: function(data) { if(data.error === true) { $.errRorBar({ bdS: "error", html: data.message , delay: 5000 }); } else { $.errRorBar({ bdS: "success", html: data.message , delay: 5000}); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { $.errRorBar({ bdS: "error", html: "Opps! Something went wrong!" , delay: 5000 }); console.log(XMLHttpRequest); console.log(textStatus); console.log(errorThrown); // console.log(XMLHttpRequest.responseText); } }); });
Надеюсь, это поможет вам