在使用siyucms开发的时候,对某条记录进行编辑时会发现一个问题:对已上传的文件进行“移除”操作时,整个列表框就会完全消失。而此时如果点击“确定”按钮提交,那么该项内容不会发生修改。如下图所示:
通过查找发现,移除按钮的事件代码写在文件siyucms,js中:
通过代码我们了解到,该项函数在执行中会删除“清除”按钮第三级父元素,而第三级父元素是整个已上传文件的列表容器。
而我们想要的结果只是删除到第二级就可以了。
所以把这段代码改成如下即可解决问题:
// 多图删除
$(document).on('click', '.remove_images', function () {
var remove = $(this).parent().parent();
// 原代码:var remove = $(this).parent().parent().parent();
remove.remove();
})
---------------------------------------------------------------------------------------------------------------------------------
2022年3月17日,在使用中发现,图片的上传显示容器与文件的上传显示容器不同,而他们共用同一个JS移除函数。因此导致我修改JS里的移除函数后,图片的移除功能失效了。为解决此问题,我修改了文件上传显示容器,同时把JS移除代码改回原来的代码,彻底解决问题。
<!-- ※修改多文件的显示容器 -->
<div class="row no-gutters">
<div class="col-4 col-sm-6">
<input type="text" name="{$form[type].name}[]" value="{$vo['image']}" class="form-control">
</div>
<div class="col-3 col-sm-3">
<input type="text" name="{$form[type].name}_title[]" value="{$vo['title']}" class="form-control input-sm">
</div>
<div class="col-4 col-sm-3">
<div class="btn-group">
<button type="button" class="btn btn-default btn-sm move_up_images">
<i class="fa fa-chevron-up"></i>
</button>
<button type="button" class="btn btn-default btn-sm move_down_images">
<i class="fa fa-chevron-down"></i>
</button>
<button type="button" class="btn btn-default btn-sm remove_images">
<i class="fa fa-times"></i>
</button>
</div>
</div>
</div>
<!-- ※修改多文件的显示容器 -->
<!-- <div class="row"> -->
<!-- <div class="col-6"> -->
<!-- <input type="text" name="{$form[type].name}[]" value="{$vo['image']}" class="form-control"> -->
<!-- </div> -->
<!-- <div class="col-3"> -->
<!-- <input type="text" name="{$form[type].name}_title[]" value="{$vo['title']}" class="form-control input-sm"> -->
<!-- </div> -->
<!-- <div class="col-xs-3"> -->
<!-- <button type="button" class="btn btn-block btn-warning remove_images">移除</button> -->
<!-- </div> -->
<!-- </div> -->