我正在尝试在Dropzone.js中编写删除函数。为了做到这一点,我需要文件的ID上传方式。
我试图获取对象的属性但没有成功。现在我正在尝试使用jQuery来获取包含它的跨度的值或文本内容。
这是结构的截图。我正在尝试的jQuery代码是:
var loooot = $(".dz-filename").parents('span').text();
更具体一点我试图得到号码1_1477778745352(这是一个时间戳)。
Dropzone代码如下:
<script>
var listing_id = "1";
// these are the setting for the image upload
Dropzone.options.pud = {
acceptedFiles: ".jpeg,.jpg,.png,.gif",
uploadMultiple: false,
paramName: "file", // The name that will be used to transfer the file
maxFilesize: 1, // MB
addRemoveLinks: true,
maxFiles: 10,
renameFilename: function (filename) {return listing_id + '_' + new Date().getTime();},
init: function()
{
this.on("removedfile", function(file)
{
var loooot = $("span", ".dz-filename").html();
alert(loooot);
});
}
};
</script>
答案 0 :(得分:1)
使用:
var loooot = $("span", ".dz-filename").html();
工作Demo。
var loooot = $("span", ".dz-filename").html();
alert(loooot);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="dz-filename">
<span>Test</span>
</div>
&#13;
修改强>
由于您正在动态设置文本,因此jquery可能会在您设置之前读取HTML,为了防止这种情况,您必须在时间戳之后调用此函数作为回调(我无法帮助您而不会看到如何设置span
文本)。
所以做一些像:
function setSpan(callback) {
// Set your stuffs
// Call the callback
callback();
}
function getText() {
// I'm the callback witch get the html
}
//Onload
setSpan(getText());
修改强>
对于dropzone,您可以使用在队列后启动功能的queuecomplete
,我不是dropzone专家,但我想:
init: function () {
this.on("queuecomplete", function (file) {
//Get span html
alert("All files have uploaded ");
});
}
答案 1 :(得分:1)
它变得未定义,因为dropzone动态地工作,使用它:
$('body').find(".dz-filename").find('span').text();
执行此操作的最佳方法是声明dropzone:
//first declare somewhere variable
var my_drop;
// then on creating dropzone:
my_drop = new Dropzone('.dropzone', {
/* your setup of dropzone */
});
然后您可以使用以下方法检索有关文件的信息:
my_drop.files[0].name
[0]
代表的第一个文件,如果超过一个文件,您可以循环浏览它们。
答案 2 :(得分:1)
尝试使用JQuery&#39; .text();
来获取内部文本
更新:像这样使用DOM .ready()
。
深度选择器
$(document).ready(function(){
var fname = $("#pud .dz-filename span [data-dz-name]").text();
});
或(如果您的表格是动态的)
function get_fname(){
return $("#pud .dz-filename span [data-dz-name]").text();
}
然后使用get_fname();
答案 3 :(得分:0)
我发现的工作解决方案是:
init: function()
{
this.on("removedfile", function(file)
{
var loooot = $(file.previewElement).find('[data-dz-name]').text();
alert(loooot);
});
}