各行にデータ ( data-id
) と<div class = "upload">Upload</div>
. uploader_obj.button
アップローダには、 initiating として setを含むオブジェクト<div>
、サーバーに送信される data-id などのパラメータ、および私が示していない他の多くのものを渡す必要があります。
次のスクリプトはテーブルをループし、オブジェクトを変更してボタンと params.id を設定し、各行にアップローダーを作成します。
各行に個別のアップロード ボタンが作成されますが、それぞれが最後の行の値 (つまり 222) に設定された同じ params.id を参照します。それぞれを特定の行の値に設定する必要があります。
これを修正する 1 つの方法は、各アップローダに独自の 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);
});