Javascript可以';看不到对象id
我想通过Javascript对我的对象执行一些操作,但我不明白为什么我的脚本不绑定对象。有什么建议吗 My\u index.html文件:Javascript可以';看不到对象id,javascript,jquery,ruby-on-rails,ruby,checkbox,Javascript,Jquery,Ruby On Rails,Ruby,Checkbox,我想通过Javascript对我的对象执行一些操作,但我不明白为什么我的脚本不绑定对象。有什么建议吗 My\u index.html文件: <table> <% @tasks.each do |task| %> <tr class='tasks' id="task_<%= task.id %>"> <td> <input type="checkbox" class='check' data
<table>
<% @tasks.each do |task| %>
<tr class='tasks' id="task_<%= task.id %>">
<td>
<input type="checkbox" class='check' data-id="<%= task.id %>" >
</td>
</tr>
<% end %>
</table>
$(document).on('ready page:load', function () {
$('.check').on('change', function(){
if ($(this).is(':checked')) {
id = $(this).attr('data-id');
$("task_<%= task.id %>").fadeOut();
}
});
})
下面是application.js中的脚本:
<table>
<% @tasks.each do |task| %>
<tr class='tasks' id="task_<%= task.id %>">
<td>
<input type="checkbox" class='check' data-id="<%= task.id %>" >
</td>
</tr>
<% end %>
</table>
$(document).on('ready page:load', function () {
$('.check').on('change', function(){
if ($(this).is(':checked')) {
id = $(this).attr('data-id');
$("task_<%= task.id %>").fadeOut();
}
});
})
$(document).on('ready page:load',function(){
$('.check')。在('change',function()上{
如果($(this).is(':checked')){
id=$(this.attr('data-id');
$(“task”).fadeOut();
}
});
})
它什么也不做。但是,当我使用
$(.tasks)
时,所有对象都会随之淡出。将javascript修复为:
$(document).on('ready page:load', function () {
$('.check').on('change', function(){
if ($(this).is(':checked')) {
var id = $(this).attr('data-id');
# get `id` from attribute
$("#task_" + id).fadeOut();
}
});
})
您不能在application.js
中使用erb
插值,不是在所有情况下,而是在这种情况下。因为application.js
脚本在客户端工作
$(“任务”)这不是正确的用法我认为应该是那样的$(“任务”+id);