【问题标题】:Row selection dataTable rails - how to get id's list of selected rows行选择dataTable rails - 如何获取id的选定行列表
【发布时间】:2015-08-10 09:16:29
【问题描述】:

您好 我是 ruby​​ on rails 和 javascript 的新手,我想使用 dataTable 来选择表格中的多行。然后我想拥有所选行的所有 id 的列表。

感谢 dataTable 网站上提供的代码,我设法选择了多行。这是代码:

<script>
$(document).ready(function() {

  var selected =[];

  $("#assureur").dataTable({
    
    "rowCallback": function(row,data){
      if($.inArray(data.DT_RowId, selected) !==-1){
        $(row).addClass('selected');
      } 
    }
  });

  $('#assureur tbody').on('click', 'tr', function(){
    var id = this.id;
    var index = $.inArray(id, selected);

    if( index === -1){
      selected.push(id);
    } else {
      selected.splice(index,1);
    }

    $(this).toggleClass('selected');
  });

});
</script>

但是我不明白如何获取我选择的行列表。

我在互联网上搜索,但我不明白他们的代码是如何工作的。他们谈论使用 TableToolfnGetSelected 但我不知道如何使用它。

我已阅读有关 alert 的信息,但我不想显示警报我宁愿拥有一个包含所选行的所有 id 的数组,以便以后可以使用此数组。

那么我怎样才能不再使用 javascript 而是使用 Ruby 语言来使用这个数组呢? 我阅读了有关使用 Ajax 或使用隐藏字段标记的信息,然后从控制器中检索参数....但是它是如何工作的?我必须在我的控制器上放什么才能检索在我的 javascript 中定义的变量 $var ?

感谢您的帮助

【问题讨论】:

    标签: javascript ruby-on-rails datatable rows multipleselection


    【解决方案1】:

    您可以使用 Jquery 调用:

    var $yourVar = $("#assureur").find('tbody tr.selected');
    

    【讨论】:

    • 谢谢。因此,在 $yourVar 中,我将拥有我选择的所有行的所有 id。然后我想在视图中显示这个数组。我读到只能使用控制器将 javascript 变量传递给 Ruby。你能告诉我怎么做吗?因为我再次不明白互联网上所说的内容,这看起来相当困难。他们谈论使用看起来最简单的隐藏字段标签来处理它?
    • 如果您需要向服务器发送一个 javascript 变量,您必须调用一个 POST 到包含您的变量的服务器。例如,提交具有属性 remore=true 的 Form 标记或使用 ajax 调用。这个网站是一个很好的入门指南:gotealeaf.com/blog/…
    • 难道不能在我的视图中用 id="selection" 写一个 div,然后在我的脚本中写:$('#selection').html($yourVar) 吗?
    • 我建议你用 JQuery 分开做一些实验。您可以使用您的表格和一些 Javascript 代码构建一个文本文件。然后将其重命名为 .html 并在浏览器中打开它。之后,您可以使用它一段时间,以便了解 $yourVar 变量中的内容以及如何操作其信息。
    猜你喜欢
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 2012-11-10
    • 2013-04-03
    • 2021-01-07
    • 2017-06-01
    相关资源
    最近更新 更多