如何使用data-attribute将一个动态生成的id从rails应用程序传递给jQuery?当我尝试时,除非我将它发送到警告框,否则该值将返回undefined。
此代码(使用调试链接作为黑客):
.remove
在警告框中显示dynamic_id。
但是,使用相同的选择器,此代码:
$(document).on "page:change", ->
$('.debug_link_id').click ->
alert $(this).data('dynamic_id)
显示" undefined"在警报框中。 [使用.attr(' data-dynamic_id')给出相同的结果]
请告诉我:
答案 0 :(得分:1)
尝试使用event delegation在处理程序中将this
设置为"#debug_link_id"
。
$(document).on "page:change", "#debug_link_id", ->
答案 1 :(得分:1)
那是因为你在错误的地方提到this
..
$(document).on "page:change", ->
$('#debug_link_id').click ->
alert $(this).data('dynamic_id)// <-- That "this" is referring a object with id debug_link_id
$(document).on "page:change", ->
jqVar = $(this).data('dynamic_id') //<-- That "this" is referring a object that I don't know where this is come from...
$('#link_id').click ->
alert jqVar