使用colvis和数据表的多元素一起使用的意外结果

时间:2013-08-31 12:39:35

标签: jquery jquery-datatables

我一起使用colvis和多搜索,但它有一些问题..

例:
1.如果我取消选中“渲染引擎”,并使用多搜索引擎版本(例如,数据数据为6或7),则不会提供任何数据。
2.对于CSS等级的多重搜索,它根本不会搜索

我在这里创建了一个jsfiddle http://jsfiddle.net/cyVjh/

使用的脚本

//Search 
$("tfoot input").keyup(function () {
    /* Filter on the column (the index) of this element */
    oTable.fnFilter(this.value, $("tfoot input").index(this));
});

/*
 * Support functions to provide a little bit of 'user friendlyness' to the textboxes in 
 * the footer
 */
$("tfoot input").each(function (i) {
    asInitVals[i] = this.value;
});

$("tfoot input").focus(function () {
    if (this.className == "search_init") {
        this.className = "";
        this.value = "";
    }
});

$("tfoot input").blur(function (i) {
    if (this.value == "") {
        this.className = "search_init";
        this.value = asInitVals[$("tfoot input").index(this)];
    }
});

1 个答案:

答案 0 :(得分:1)

我也面临同样的问题,并为此找到了一个解决方案。

我们需要在视图(HTML)文件

中的搜索文本框中手动传递列ID 像EG一样。

<table cellpadding="0" cellspacing="0" border="0" id="listingentries">
  <thead>
    <tr>
      <td>column1<td>
      <td>column2<td>
      <td>column3<td>
    </tr>
  </thead>

  <tbody>
    <tr> 
      <td>val1<td>
      <td>val2<td>
      <td>val3<td>
    </tr>
    .
    .
    .
  </tbody>

  <tfoot>
    <tr>

      <!-- HERE I HAVE ADDED ID TO TEXT BOXES WHICH SHOWS COLUMNS SEQUENCE -->

      <td><input id='0' type='text' title='Search column 1' /><td>
      <td><input id='1' type='text' title='Search column 2' /><td>
      <td><input id='2' type='text' title='Search column 3' /><td>
    </tr>
  </tfoot>
</table>

现在我们需要像这样更改JS脚本:

//Search 
$("tfoot input").keyup(function () {
    /* Filter on the column (the index) of this element */

    //COMMENT THIS LINE
    //oTable.fnFilter(this.value, $("tfoot input").index(this));

    //USE THIS - HERE WE WILL PASS ID WHICH IDENTIFY COLUMN INDEX
    oTable.fnFilter(this.value, this.id); 

});

这对我来说很有用。

这适用于普通Javascript搜索,也适用于服务器端搜索。

希望这也适合你。

谢谢。