在dropzone事件之后获取表行ID

时间:2013-04-16 17:32:24

标签: javascript jquery jquery-plugins dropzone.js

我一直在敲打这个好几个小时,所以希望有人可以提供帮助。当文件上传到dropzone框时,我正在尝试获取行id或表单id。我有多个带有多个dropzone框的表行。

这是我表格中的一个示例行:

<table class="docs" id="show">      
    <tr class="doc" id="*Need_This*">
        <td>
            <div class="file_upload drop">
                <form class="dropzone clickable" id="*Or_Need_This*">
                </form>
            </div>
        </td>
    </tr>
</table>

这是我的jquery:

<script type="text/javascript">
$(document).ready(function(){
     $(".dropzone").dropzone({ 
        paramName: 'photos',
        url: "post.php",
        dictDefaultMessage: "Drag or Click",
        clickable: true,
        enqueueForUpload: true,
        init: function() {
            var id = $(this).closest('tr').attr('id');
            this.on("success", function(file) { alert(id); });
          }
    });
});
</script>

现在它正在返回undefined。我需要获取id,以便我可以将css更改附加到行上的其他元素。非常感谢任何帮助!

2 个答案:

答案 0 :(得分:4)

你的案例中的

this是指Dropzone实例,而不是元素本身!如果您需要访问dropzone的实际元素,请使用dropzone.element

所以你可以这样做:var id = $(this.element).etc...

希望有所帮助。

答案 1 :(得分:2)

在文档中,您可以阅读:

  

获取服务器响应作为第二个参数

试试这个:

this.on("success", function(file,rep) {
     alert(file);
     alert(rep); //The response
});