私は、ユーザーがアイテム (アイテムなど) を好きになることができるサイトに取り組んでいます。イベントは jQuery と AJAX で処理されます。item 配列には非常に多くのアイテムが含まれており、各アイテムには「愛する」ボタンがあります。ページの下部に 1 つのフォームを配置し、リモートで送信するだけで、ページ上のフォームの数を効率的に減らすことにしました。
したがって、ユーザーがラブボタンをクリックするたびに、アイテム ID を保持するデータ属性がフォームに挿入され、フォームが送信されます。シンプルなもの。
しかし、更新したい項目の要素 ID を見つける方法がわからないため、データ応答はもう少し複雑です。this
orevent.target
は別のイベント内にあるため、使用できません。event
また、パラメーターをに持ち込もうとしましたsubmit event
が、うまくいきませんでした。
$(".love_item").click (event) ->
$(".love_item_item_id").val $(this).data 'id'
$(".love_item_form").submit()
$(this).hide(200)
$("form.love_item_form").submit (evt) ->
evt.preventDefault()
$form = $ @
$form.find(':submit').prop 'disabled', true
$.post($form.attr('action'), $form.serializeArray(), type: 'json').done (data) ->
$(event.target).parent().find(".item_info_box").html data
それが言う最後の行は、event.target
私が持っている限りです。この変数が実行されていないことは明らかですが、目標を達成するためにそこに何を配置すればよいかわかりません。また、フォームアクションを介して追加のパラメーターを渡すことができることも知っています (つまり、それらをレールコントローラーに送信して戻す)。何か案は?