请帮助我的代码。我已经搜索了我的表的每一列与其他列的关联。我想在表列之外移出具有相同功能的搜索输入。
我发现只有这个: https://datatables.net/reference/api/search()
var table = $('#example').DataTable();
// #myInput is a <input type="text"> element
$('#myInput').on( 'keyup', function () {
table.search( this.value ).draw();
} );
但它正在所有表格列中搜索 - 这不是我需要的。
我的工作小提琴:
https://jsfiddle.net/cm4t63ee/2/
我需要修改它:
https://jsfiddle.net/07hmjmv0/4/
非常感谢您的帮助!
答案 0 :(得分:2)
创建了一个简化的示例,但它应该足以让我们了解。
// DataTable
var table = $('#example').DataTable();
// Initialize search inputs
$(".searchField").on("keyup change", function() {
var input = $(this);
var colIndex = parseInt(input.attr("column"));
table.column(colIndex).search(input.val()).draw();
});
&#13;
.searchField {
width: 80px;
padding: 5px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
<link href="https://cdn.datatables.net/buttons/1.5.1/css/buttons.dataTables.min.css" rel="stylesheet"/>
<div class="container">
<h3>Search in table columns</h3>
<select class="searchField" column="0">
<option value="">Select category</option>
<option value="A">A</option>
<option value="B">B</option>
</select>
<input type="text" class="searchField" placeholder="Name" column="1">
<input type="text" class="searchField" placeholder="Quantity" column="2">
<input type="text" class="searchField" placeholder="Price" column="3">
<input type="text" class="searchField" placeholder="Total" column="4">
<hr />
<table class="table display" id="example">
<thead>
<tr>
<th>
Category
</th>
<th>
Name
</th>
<th>
Quantity
</th>
<th>
Price
</th>
<th>
Total
</th>
</tr>
<tr class="cus-footer">
<th></th>
<th class="text-input"></th>
<th class="text-input"></th>
<th class="text-input"></th>
<th class="text-input"></th>
</tr>
</thead>
<tbody>
<tr class="odd" id="row_1" role="row">
<td class="sorting_1">B</td>
<td>P1</td>
<td class=" sum">42</td>
<td class=" sum">1</td>
<td class=" sum">42</td>
</tr>
<tr class="even" id="row_2" role="row">
<td class="sorting_1">A</td>
<td>P2</td>
<td class=" sum">1</td>
<td class=" sum">2</td>
<td class=" sum">2</td>
</tr>
<tr class="odd" id="row_3" role="row">
<td class="sorting_1">A</td>
<td>P3</td>
<td class=" sum">1</td>
<td class=" sum">3</td>
<td class=" sum">3</td>
</tr>
<tr class="even" id="row_4" role="row">
<td class="sorting_1">A</td>
<td>P4</td>
<td class=" sum">1</td>
<td class=" sum">4</td>
<td class=" sum">4</td>
</tr>
<tr class="odd" id="row_5" role="row">
<td class="sorting_1">A</td>
<td>P5</td>
<td class=" sum">1</td>
<td class=" sum">5</td>
<td class=" sum">5</td>
</tr>
<tr class="even" id="row_6" role="row">
<td class="sorting_1">A</td>
<td>P6</td>
<td class=" sum">1</td>
<td class=" sum">6</td>
<td class=" sum">6</td>
</tr>
<tr class="odd" id="row_7" role="row">
<td class="sorting_1">A</td>
<td>P7</td>
<td class=" sum">1</td>
<td class=" sum">7</td>
<td class=" sum">7</td>
</tr>
<tr class="even" id="row_8" role="row">
<td class="sorting_1">A</td>
<td>P8</td>
<td class=" sum">1</td>
<td class=" sum">8</td>
<td class=" sum">8</td>
</tr>
<tr class="odd" id="row_9" role="row">
<td class="sorting_1">A</td>
<td>P9</td>
<td class=" sum">1</td>
<td class=" sum">9</td>
<td class=" sum">9</td>
</tr>
<tr class="even" id="row_10" role="row">
<td class="sorting_1">A</td>
<td>P10</td>
<td class=" sum">1</td>
<td class=" sum">10</td>
<td class=" sum">10</td>
</tr>
<tr class="odd" id="row_11" role="row">
<td class="sorting_1">B</td>
<td>P11</td>
<td class=" sum">1</td>
<td class=" sum">11</td>
<td class=" sum">11</td>
</tr>
<tr class="even" id="row_12" role="row">
<td class="sorting_1">A</td>
<td>P12</td>
<td class=" sum">1</td>
<td class=" sum">12</td>
<td class=" sum">12</td>
</tr>
<tr class="odd" id="row_13" role="row">
<td class="sorting_1">A</td>
<td>P13</td>
<td class=" sum">1</td>
<td class=" sum">13</td>
<td class=" sum">13</td>
</tr>
<tr class="even" id="row_14" role="row">
<td class="sorting_1">A</td>
<td>P14</td>
<td class=" sum">1</td>
<td class=" sum">14</td>
<td class=" sum">14</td>
</tr>
<tr class="odd" id="row_15" role="row">
<td class="sorting_1">A</td>
<td>P15</td>
<td class=" sum">1</td>
<td class=" sum">15</td>
<td class=" sum">15</td>
</tr>
<tr class="even" id="row_16" role="row">
<td class="sorting_1">A</td>
<td>P16</td>
<td class=" sum">1</td>
<td class=" sum">16</td>
<td class=" sum">16</td>
</tr>
<tr class="odd" id="row_17" role="row">
<td class="sorting_1">A</td>
<td>P17</td>
<td class=" sum">1</td>
<td class=" sum">17</td>
<td class=" sum">17</td>
</tr>
<tr class="even" id="row_18" role="row">
<td class="sorting_1">A</td>
<td>P18</td>
<td class=" sum">1</td>
<td class=" sum">18</td>
<td class=" sum">18</td>
</tr>
<tr class="odd" id="row_19" role="row">
<td class="sorting_1">A</td>
<td>P19</td>
<td class=" sum">1</td>
<td class=" sum">19</td>
<td class=" sum">19</td>
</tr>
<tr class="even" id="row_20" role="row">
<td class="sorting_1">A</td>
<td>P20</td>
<td class=" sum">1</td>
<td class=" sum">20</td>
<td class=" sum">20</td>
</tr>
<tr class="odd" id="row_21" role="row">
<td class="sorting_1">B</td>
<td>P21</td>
<td class=" sum">1</td>
<td class=" sum">21</td>
<td class=" sum">21</td>
</tr>
<tr class="even" id="row_22" role="row">
<td class="sorting_1">A</td>
<td>P22</td>
<td class=" sum">1</td>
<td class=" sum">22</td>
<td class=" sum">22</td>
</tr>
<tr class="odd" id="row_23" role="row">
<td class="sorting_1">A</td>
<td>P23</td>
<td class=" sum">1</td>
<td class=" sum">23</td>
<td class=" sum">23</td>
</tr>
<tr class="even" id="row_24" role="row">
<td class="sorting_1">A</td>
<td>P24</td>
<td class=" sum">1</td>
<td class=" sum">24</td>
<td class=" sum">24</td>
</tr>
<tr class="odd" id="row_25" role="row">
<td class="sorting_1">A</td>
<td>P25</td>
<td class=" sum">1</td>
<td class=" sum">25</td>
<td class=" sum">25</td>
</tr>
<tr class="even" id="row_26" role="row">
<td class="sorting_1">A</td>
<td>P26</td>
<td class=" sum">1</td>
<td class=" sum">26</td>
<td class=" sum">26</td>
</tr>
<tr class="odd" id="row_27" role="row">
<td class="sorting_1">A</td>
<td>P27</td>
<td class=" sum">1</td>
<td class=" sum">27</td>
<td class=" sum">27</td>
</tr>
<tr class="even" id="row_28" role="row">
<td class="sorting_1">A</td>
<td>P28</td>
<td class=" sum">1</td>
<td class=" sum">28</td>
<td class=" sum">28</td>
</tr>
<tr class="odd" id="row_29" role="row">
<td class="sorting_1">A</td>
<td>P29</td>
<td class=" sum">1</td>
<td class=" sum">29</td>
<td class=" sum">29</td>
</tr>
<tr class="odd" id="row_30" role="row">
<td class="sorting_1">C</td>
<td>P21</td>
<td class=" sum">1</td>
<td class=" sum">21</td>
<td class=" sum">21</td>
</tr>
</tbody>
</table>
</div>
&#13;