Blueimp 文件上传:我的 DELETE link 不起作用
Blueimp file upload : my DELETE link doesn't work
这是我的表格(基本上传):
<span class="btn btn-success fileinput-button">
<span>Select files...</span>
<input id="fileupload" type="file" name="files[]" multiple>
</span>
<br>
<div id="files" class="files"></div>
这是我的脚本:
$(function () {
$('#fileupload').fileupload({
url: 'server/php/',
dataType: 'json',
add: function (e, data) {
data.context = $('<p/>').text('Uploading...').appendTo('#files');
data.submit();
},
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').html('<a href="#" class="text-danger delete" data-type="' + file.deleteType + '" data-url="' + file.deleteUrl + '" title="Delete">Delete</a>').appendTo('#files');
});
}
});
});
我的上传没有问题,但是当我点击删除 link 时,没有任何反应。好像这个 link 没有效果。也许我错过了一些东西?
有什么想法吗?
除非我遗漏了什么,否则你还没有在 link 上设置事件侦听器。
$('#files').on('click', 'a', function (e) {
e.preventDefault();
var $link = $(this);
var req = $.ajax({
dataType: 'json',
url: $link.data('url'),
type: 'DELETE'
});
req.success(function () {
$link.closet('p').remove();
});
});
您可能已经解决了您的问题,但只是为任何新的解决方案寻求者添加我的答案。
您不需要像@rglyall 那样手动发出删除请求,只需正确设置 html 结构,Jquery-file-upload 将自行处理。
改变
<a href="#" class="text-danger delete" data-type="' + file.deleteType + '" data-url="' + file.deleteUrl + '" title="Delete">Delete</a>
至
<button class="text-danger delete" data-type="' + file.deleteType + '" data-url="' + file.deleteUrl + '" title="Delete">Delete</button>
您需要确保存在以下内容以便库自动处理此问题,即
- Html 元素必须是 'button'。
- 此按钮必须具有 'delete' 的 class。
- 这个按钮必须有'data-type'。
- 这个按钮必须有 'data-url'.
这是我的表格(基本上传):
<span class="btn btn-success fileinput-button">
<span>Select files...</span>
<input id="fileupload" type="file" name="files[]" multiple>
</span>
<br>
<div id="files" class="files"></div>
这是我的脚本:
$(function () {
$('#fileupload').fileupload({
url: 'server/php/',
dataType: 'json',
add: function (e, data) {
data.context = $('<p/>').text('Uploading...').appendTo('#files');
data.submit();
},
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').html('<a href="#" class="text-danger delete" data-type="' + file.deleteType + '" data-url="' + file.deleteUrl + '" title="Delete">Delete</a>').appendTo('#files');
});
}
});
});
我的上传没有问题,但是当我点击删除 link 时,没有任何反应。好像这个 link 没有效果。也许我错过了一些东西?
有什么想法吗?
除非我遗漏了什么,否则你还没有在 link 上设置事件侦听器。
$('#files').on('click', 'a', function (e) {
e.preventDefault();
var $link = $(this);
var req = $.ajax({
dataType: 'json',
url: $link.data('url'),
type: 'DELETE'
});
req.success(function () {
$link.closet('p').remove();
});
});
您可能已经解决了您的问题,但只是为任何新的解决方案寻求者添加我的答案。
您不需要像@rglyall 那样手动发出删除请求,只需正确设置 html 结构,Jquery-file-upload 将自行处理。
改变
<a href="#" class="text-danger delete" data-type="' + file.deleteType + '" data-url="' + file.deleteUrl + '" title="Delete">Delete</a>
至
<button class="text-danger delete" data-type="' + file.deleteType + '" data-url="' + file.deleteUrl + '" title="Delete">Delete</button>
您需要确保存在以下内容以便库自动处理此问题,即
- Html 元素必须是 'button'。
- 此按钮必须具有 'delete' 的 class。
- 这个按钮必须有'data-type'。
- 这个按钮必须有 'data-url'.