重写后的标题为:使用Laravel Ajax 从数组中逐个删除元素
P粉356361722
2023-08-28 14:20:24
<p>我正在尝试从通过Append显示为图像的数组中删除每个元素。</p>
<p><strong>刀片:</strong></p>
<pre class="brush:php;toolbar:false;"><h4>菜单图片</h4>
<div class="col-md-12" id="cardImages"></div></pre>
<p><strong><code>Ajax函数</code></strong></p>
<pre class="brush:php;toolbar:false;">$(document).on('click', '.edit', function(){
$("#cardImages").empty();
var id = $(this).attr("id");
$('#form_output').html('');
$.ajax({
url: "{{route('restaurantOffers.fetchdata')}}",
method: 'get',
data: {id:id},
dataType: 'json',
success:function(data)
{
$('#contract_id').val(id);
$('#editContract').modal('show');
$('#action').val('Speichern');
$('.modal-title').text('数据更新');
$('#button_action').val('update');
var cardUp = data.cardUpload;
$.each(cardUp, function(index,value) {
$('#cardImages').append('<a href="{{ url('/storage/offerPic/')}}'+'/' + value +'" download ><img src="{{ url('/storage/offerPic/')}}'+'/' + value +'" alt=""></a><a class="btn btn-danger" target="_blank" rel="nofollow noreferrer" href="" method="post">X</a>');
});
}
})
});</pre>
<p><strong>控制器:</strong></p>
<pre class="brush:php;toolbar:false;">function fetchdata(Request $request)
{
$id = $request->input('id');
$data = RestaurantOffer::find($id);
$output = array(
'cardUpload' => json_decode($data->cardUpload),
);
echo json_encode($output);
}</pre>
<p>cardUpload列记录存储为数组,例如(<code>["image1.png","image2.png"]</code>)。</p>
<p>这些图像在cardImages div中显示得很好,但我想创建一个函数来逐个删除这些图像。</p>
<p>问题是如何逐个删除数组元素。</p>
<p>PS:这些图像在编辑按钮之后显示。因此,我必须在get方法中创建删除或发布方法。</p>
<p>提前感谢您的帮助</p>
要删除特定的图像,您应该为每个图像确定一个特定的id:
([1=>"image1.png",2=>"image2.png"]).
删除按钮:
请不要建议编辑,如果您建议我无法编辑它,必须发布另一个答案。