2014-06-06 66 views
0

我正在使用jquery datatable在应用程序中显示报告。使用数据表提供的默认搜索。该搜索适用于大多数场景。但我在搜索某些单词时遇到问题。数据表搜索问题

找出<td>标签之间的内容为文本。因此,如果我搜索单词add,则会显示所有行。这是因为第一列有add作为类属性。同样是hrefgetid的情况下,progress

<tr class="odd"> 
    <td class=""><a href="#" class="add" onclick="getById(68)">68</a></td> 
    <td class="">friw678</td> 
    <td class="">windows</td> 
    <td class=""> 
     <span title="Bangalore">Bangal..</span> 
     <p>Bangalore</p> 
    </td> 
    <td class=" sorting_1"> 
     <span title="6/6/2014 1:02:52 PM">6/6/2014 1..</span> 
     <p>6/6/2014 1:02:52 PM</p> 
    </td> 
    <td class=""> 
     <div class="progressBarBlueComplete ui-progressbar ui-widget ui-widget-content ui-corner-all" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="100"> 
     <div class="ui-progressbar-value ui-widget-header ui-corner-left ui-corner-right" style="display: block; width: 100%;"></div> 
     </div> 
    </td> 
    <td class=""> 
     <span title="COMPLETED">COMPLE..</span> 
     <p>COMPLETED</p> 
    </td> 
    <td class="">sha5</td> 
</tr> 

有没有办法只考虑内标签也中的文本。 (而不是考虑内部标签。)因此,如果搜索结果为空的单词href

DataTable中使用的是https://datatables.net/

回答

5

是的,你可以在全球指定DataTable的过滤行为,或对每列。 如果我理解正确,从表格单元格的内容中删除html标签对你很有好处。你可以在.dataTable({});的定义里面这样做:

"aoColumnDefs": [ 
    { "mRender": function (data, type, full) { 
      if (type === 'filter') { 
       return data.replace(/(<([^>]+)>)/ig,""); 
      } 

      return data; 
     } 
    } 
] 
+0

使用type来知道它是过滤还是显示是awasome:)非常感谢:) – Manu