ファイルのアップロード後に動的に生成される div がいくつかあります。ファイルをアップロードするたびに、次の形式で div が作成されます。
<div id="uploadifive-fileupload-queue" class="uploadifive-queue">
<div class="uploadifive-queue-item complete" id="uploadifive-fileupload-file-0">
<div class="inputs">
<input type="hidden" name="image_id" value="0">
<input type="text" name="alt-text">
<input type="submit" name="image_data_submit" value="Submit" />
</div>
</div>
</div>
アイテムがアップロードされるたびに、uploadifive-queue-item クラスの ID が増分されて、uploadifive-fileupload-file-0、uploadifive-fileupload-file-1、uploadifive-fileupload-file-2 などになります。
応答から非表示の image_id を動的に入力するため、各非表示の image_id フィールドには、データベースに保存した image_id に対応する異なる数値が含まれます。これは次のようになります。
'onUploadComplete' : function(file, data) {
$('input[name=image_id]:last').val(data);
}
代替テキスト入力フィールドにテキストを入力しようとしていますが、[送信] ボタンをクリックすると、コマンドが ajax 経由でデータベースに送信され、image_id が一致するデータベースの代替テキスト フィールドが更新されます。
問題は、[送信] ボタンで同じ div コンテナーにある image_id と alt-text のみを送信する方法がわからないことです。各 div には、番号が増分された一意の ID がありますが、それを選択する方法がわかりません。どうすればいいですか?
基本的に、ボタンuploadifive-fileupload-file-3
が送信された場合、uploadifive-fileupload-file-3 の image_id フィールドのみが ajax 経由で送信されます。
現在jQuery ajaxを使用している方法は次のとおりです。
$("button[name=image_data_submit]").click(function(){
$.ajax({
url: './update_image/',
type: "POST",
data: {
image_id: $("input[name=image_id]").val(),
alt_text: $("input[name=alt_texted]").val()
},
success: function(response){
console.log(response);
}
});
});
助けていただければ幸いです。一日中これにこだわっています:/