代码之家  ›  专栏  ›  技术社区  ›  vishwas jadav

什么是datatable。列()。搜索()。服务器端php中的draw()请求或帖子?

  •  0
  • vishwas jadav  · 技术社区  · 8 年前

    $(document).ready(function() {
        var taskList = $("#tasklist").DataTable({
          "bProcessing" : true,
          "bServerSide" : true,
          "sAjaxSource" : 'response.php'
        });
        $(".search-select").on('change', function() {
          var i = $(this).attr('data-column');
          var f = $(this).val();
          taskList.columns(i).search(f).draw();
        });
    
        $(".search-text").on('keyup', function() {
          var i = $(this).attr('data-column');
          var f = $(this).val();
          taskList.columns(i).search(f).draw();
        });
    
    
      });

    这是我写的脚本,除了过滤之外,一切都正常。 我不知道在哪个变量或对象中可以获得搜索到的行和值。 我已尝试:$\u请求['columns'][0]['search']['value'] 但它不在$\u请求对象中。 我现在应该尝试什么?

    2 回复  |  直到 8 年前
        1
  •  1
  •   davidkonrad    8 年前

    如果您有Chrome/FF或其他浏览器开发工具,请转到网络选项卡并检查请求!这再简单不过了。你会看到

    response.php
      ?sEcho=1
      &iColumns=6
      &sColumns=%2C%2C%2C%2C%2C
      &iDisplayStart=0
      &iDisplayLength=10
    //>> this section repeats itself for every column, mDataProp_1, mDataProp_2 etc
      &mDataProp_0=0
      &sSearch_0=
      &bRegex_0=false
      &bSearchable_0=true
      &bSortable_0=true
    //<<<
      &sSearch=
      &bRegex=false
      &iSortCol_0=0
      &sSortDir_0=asc
      &iSortingCols=1
      &_=1513773711430
    

    所以你得到了 columns(i).search(f).draw() 服务器并排

    $columnCount = $_GET['iColumns'];
    $searchColumn = -1;
    $searchTerm = '';
    for ($i=0; $<$columnCount; $i++) {
      if (isset($_GET['sSearch_'.$i]) && $_GET['sSearch_'.$i] != '') {
        $searchColumn = $i; //i
        $searchTerm = $_GET['sSearch_'.$i]; //f
      }
    }
    
        2
  •  0
  •   Nitin Dhomse    8 年前

    请尝试以下代码

    $searchValue = $_REQUEST['search']['value']