【问题标题】:get back all the checked values in a datatable取回数据表中的所有检查值
【发布时间】:2016-09-21 09:31:34
【问题描述】:

我正在使用jquery datatable,为了检查所有元素(使用分页),使用以下代码:

$("[id$='checkAll']").on('click', function () {
  var rows = table.rows().nodes();
  $('input[type="checkbox"]', rows).attr('checked', $(this).is(':checked'));
});

所有元素都被检查了

但是当我尝试用这段代码取回所有这些元素时,问题出在后面的代码中

protected void testBtn_Click(object sender, EventArgs e)
  {
  int i = 0;
  int j = 0;
  List<string> list = new List<string>();

  foreach (ListViewItem item in demandesExportPhytos.Items)
    {
    i++;
    CheckBox checkbox = (CheckBox)item.FindControl("demandeCheckbox");
    if (checkbox.Checked == true)
        {
        j++;
        list.Add(item.ID);
        }

    }
    Console.WriteLine(i);
    Console.WriteLine(j);
    Console.WriteLine(list.Count());
    Console.WriteLine("///");
  }

j= 15 和 i = 显示在界面上的元素数量(使用分页),因此它是 10 或 5,具体取决于所选页面 1 或 2,因为所有元素都已检查

【问题讨论】:

  • 我认为问题是由于datable只保留当前页面的元素并删除其他元素,那么如何处理呢?

标签: jquery asp.net listview datatables datatables-1.10


【解决方案1】:

嗯,网络表单是 -1。无论如何,这可能是一种不同的方式。假设在选中的元素上有一个带有 json 的隐藏元素,或者用逗号分隔选中的元素。然后单击复选框来控制它。使用该隐藏来执行任何测试Btn_Click。

只是一个想法

【讨论】:

  • 网络表单不是我的选择
  • 是的,我只是想自己学习它,因为我正在接受一个项目,并不期待它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多