Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript可以';看不到对象id_Javascript_Jquery_Ruby On Rails_Ruby_Checkbox - Fatal编程技术网

Javascript可以';看不到对象id

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

我想通过Javascript对我的对象执行一些操作,但我不明白为什么我的脚本不绑定对象。有什么建议吗

My\u index.html文件:

<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);