Javascript 正在尝试在数据表中保存搜索

Javascript 正在尝试在数据表中保存搜索,javascript,jquery,datatable,Javascript,Jquery,Datatable,我基本上是使用我的小应用程序 我希望能够保存搜索。例如,假设我有一个带有颜色和数量名称的表。如果我输入红色,它将过滤掉搜索,并显示红色及其相应的数量。现在,如果我转到另一个页面,回到DataTable页面,我希望结果和搜索仍然存在 所以我做了一些研究,发现有一个叫做save state的东西可以设置为true来得到这个结果。资料来源: 然而,它不会为我工作。如果有人能帮助我,我将不胜感激 下面是我的代码 function ttable_draw_table(table_object,event_

我基本上是使用我的小应用程序

我希望能够保存搜索。例如,假设我有一个带有颜色和数量名称的表。如果我输入红色,它将过滤掉搜索,并显示红色及其相应的数量。现在,如果我转到另一个页面,回到DataTable页面,我希望结果和搜索仍然存在

所以我做了一些研究,发现有一个叫做save state的东西可以设置为true来得到这个结果。资料来源:

然而,它不会为我工作。如果有人能帮助我,我将不胜感激

下面是我的代码

function ttable_draw_table(table_object,event_callback_function,target,args){
  var title = table_object.name.split('-').slice(1).join(' ');
  var title = title.charAt(0).toUpperCase()+title.slice(1);
  var header = '<div class="row"><div class="col-sm-2"><a type="button" class="btn btn-primary" href="#!/'+table_object.data.add+'/" style="width:100%"><i class="glyphicon glyphicon-pencil"></i> New</a></div>';
  header += '<div class="col-sm-7"><h1 style="margin:0px;">'+title+'</h1></div>';
  //header += '<div class="col-sm-2 hidden-xs"><a type="button" class="btn btn-primary" href="csv/all" style="width:100%"><i class="glyphicon glyphicon-save"></i> CSV</a></div>';
  header += '<div class="col-sm-3 hidden-xs"><a type="button" class="btn btn-primary" id="ttable-clear-filter" style="width:100%"><i class="glyphicon glyphicon-remove-circle"></i> Clear Search</a></div></div>';
  target.html(header+'<div class="table-responsive"><table class="table table-striped" id="ttable-'+table_object.name+'" ></table></div>');
  rowString = '<thead><tr>';

  //This is the CODE TO SAVE THE SEARCH
  $(document).ready(function() {
    $('#ttable').dataTable( {
        stateSave: true
    } );
} );



  for (var column_index in table_object.data.columns) {
    rowString += '<th>'+table_object.data.columns[column_index]+'</th>';
  }
  rowString += '</tr></thead>';
  $('#ttable-'+table_object.name).append(rowString);


  rowString = '<tbody>';
  for (var row in table_object.data.rows) {
    rowString += '<tr rowid="'+row+'">';
    for (var column_index in table_object.data.columns) {
      if (table_object.data.rows[row][column_index] == null) {
        table_object.data.rows[row][column_index] = 'TBD';
      }
      rowString+='<td>'+table_object.data.rows[row][column_index]+'</td>';
    }
    rowString += '</tr>';
  }
  rowString += '</tbody>';
  $('#ttable-'+table_object.name).append(rowString);

  if (args.search === undefined) { args.search = ''; }
  $('#ttable-'+table_object.name).dataTable({
    iDisplayLength: 50, 
    fnRowCallback: function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
      $(nRow).on('click', function() {
        event_callback_function(table_object, $(this).attr('rowid'));
      });
    }
  }).fnFilter(args.search);

  $('#ttable-clear-filter').click(function() {
    $('#ttable-'+table_object.name).dataTable().fnFilter('');
  });
}
函数ttable\u draw\u table(表对象、事件、回调函数、目标、参数){
var title=table_object.name.split('-').slice(1.join('');
var title=title.charAt(0.toUpperCase()+title.slice(1);
var头=“”;
标题+=''+标题+'';
//标题+='';
标题+=‘清除搜索’;
html(标题+“”);
rowString='';
//这是保存搜索的代码
$(文档).ready(函数(){
$('#ttable')。数据表({
stateSave:对
} );
} );
for(表_object.data.columns中的var列_索引){
rowString+=''+表对象.数据.列[列索引]+'';
}
rowString+='';
$(“#ttable-”+表_object.name).append(rowString);
rowString='';
for(表_object.data.rows中的变量行){
rowString+='';
for(表_object.data.columns中的var列_索引){
if(表\对象.数据.行[行][列\索引]==null){
table_object.data.rows[row][column_index]=“待定”;
}
rowString+=''+表\对象.数据.行[行][列\索引]+'';
}
rowString+='';
}
rowString+='';
$(“#ttable-”+表_object.name).append(rowString);
如果(args.search==未定义){args.search='';}
$(“#ttable-”+表_object.name).dataTable({
i显示长度:50,
fnRowCallback:函数(nRow、aData、iDisplayIndex、iDisplayIndexFull){
$(nRow).在('单击',函数()上){
事件回调函数(表对象,$(this.attr('rowid'));
});
}
}).fnFilter(参数搜索);
$(“#t表清除筛选器”)。单击(函数(){
$('#ttable-'+table_object.name).dataTable().fnFilter('');
});
}

您正在使用v1.10吗?我看到您的初始化代码在dataTable中有一个小写的
d
,stateSave是v1.10的一个特性:@markpsmith是否在1.9中实现了这个结果?我已经看到了1.9的
fnSaveState
,但我不知道如何使用它:您应该只添加
bStateSave:true
,而不是
stateSave:true