我有一个表,其中每一行都包含一些数据(data-id
)和一个<div class = "upload">Upload</div>
. 上传者需要传递一个对象,该对象包含uploader_obj.button
set 作为 initiating <div>
,任何参数,例如要发送到服务器的 data-id ,以及一堆我没有显示的其他内容。
以下脚本循环遍历表,修改对象以设置按钮和 params.id,并在每一行上创建上传器。
虽然在每一行上创建了一个单独的上传按钮,但它们都引用了相同的 params.id,该参数设置为最后一行的值(即 222)。我需要将每个设置为其特定行的值。
解决它的一种方法是让每个上传者都有自己的upload_obj,但这似乎浪费了内存。
相反,我尝试在 uploader_obj 中引用 data-id。我可以在 onSubmit 中这样做,但是,还没有弄清楚如何使用这个值来设置 param.id。我试图通过执行类似的操作将其设置在参数中,params: {'id':$(this.button).parent().parent().data('id')}
但这是我的文档,而不是上传者。
所以......如果不为每一行制作单独的 uploader_obj,我怎样才能让每一行的上传者将自己的 param.id 发送到服务器?谢谢
PS。对不起,弱标题。我真的试图想出一个更好的,但不能。
<table>
<tr data-id="123"><td>Hello</td><td><div class="upload">Upload</div></td></tr>
<tr data-id="321"><td>Hello</td><td><div class="upload">Upload</div></td></tr>
<tr data-id="222"><td>Hello</td><td><div class="upload">Upload</div></td></tr>
</table>
var uploader_obj = {
button:null,
params: {'id':null},
onSubmit: function(id, fileName) {
var id=$(this.button).parent().parent().data('id')
console.log(id);
},
otherStuff: whatever
};
$('#myTable div.upload').each(function(i,v){
uploader_obj.button=this;
uploader_obj.params.id=$(this).parent().parent().data('id');
new qq.FileUploaderBasic(uploader_obj);
});