8032


datatebles ver1.10.5 を使用しており、  
検索機能で検索する列の指定をしたいのですが方法が分かりません。  
分かる方がいましたらご教授をお願いします。

使用しているdatatablesのダウンロードページです。  
<http://datatables.net/download/>


CC BY-SA 3.0
2015-03-17T06:36:31.180
8008
2015-08-17T07:50:12.540
7626
question
javascript jquery css html5
datatablesの検索機能で、検索する列の指定をしたいです


実際にどのような使い方をされる予定か分からないのでやりたいこととは違うかもしれませんが、[Search API (regular
expressions)](http://datatables.net/examples/api/regex.html)がそれっぽい感じです。

----- 一部抜粋 -----  

[code]

    function filterColumn ( i ) {
        $('#example').DataTable().column( i ).search(
            $('#col'+i+'_filter').val()
        ).draw();
    }
     
    $(document).ready(function() {
        $('#example').dataTable();
     
        $('input.column_filter').on( 'keyup click', function () {
            filterColumn( $(this).parents('tr').attr('data-column') );
        } );
    } );
[/code]

[code]

    <link href="//cdn.datatables.net/1.10.5/css/jquery.dataTables.css" rel="stylesheet"/>
    <script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="//cdn.datatables.net/1.10.5/js/jquery.dataTables.min.js"></script>
    
    <table style="width: 67%; margin: 0 auto 2em auto;" border="0" cellpadding="3" cellspacing="0">
            <thead>
                <tr>
                    <th>Target</th>
                    <th>Search text</th>
                </tr>
            </thead>
     
            <tbody>
                <tr id="filter_col1" data-column="0">
                    <td>Column - Name</td>
                    <td align="center"><input class="column_filter" id="col0_filter" type="text"></td>
                </tr>
                <tr id="filter_col2" data-column="1">
                    <td>Column - Position</td>
                    <td align="center"><input class="column_filter" id="col1_filter" type="text"></td>
                </tr>
                <tr id="filter_col3" data-column="2">
                    <td>Column - Office</td>
                    <td align="center"><input class="column_filter" id="col2_filter" type="text"></td>
                </tr>
            </tbody>
        </table>
        <table id="example" class="display" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Position</th>
                    <th>Office</th>
                    <th>Age</th>
                    <th>Start date</th>
                    <th>Salary</th>
                </tr>
            </thead>
     
            <tfoot>
                <tr>
                    <th>Name</th>
                    <th>Position</th>
                    <th>Office</th>
                    <th>Age</th>
                    <th>Start date</th>
                    <th>Salary</th>
                </tr>
            </tfoot>
     
            <tbody>
                <tr>
                    <td>Tiger Nixon</td>
                    <td>System Architect</td>
                    <td>Edinburgh</td>
                    <td>61</td>
                    <td>2011/04/25</td>
                    <td>$320,800</td>
                </tr>
                <tr>
                    <td>Garrett Winters</td>
                    <td>Accountant</td>
                    <td>Tokyo</td>
                    <td>63</td>
                    <td>2011/07/25</td>
                    <td>$170,750</td>
                </tr>
                <tr>
                    <td>Ashton Cox</td>
                    <td>Junior Technical Author</td>
                    <td>San Francisco</td>
                    <td>66</td>
                    <td>2009/01/12</td>
                    <td>$86,000</td>
                </tr>
                <tr>
                    <td>Cedric Kelly</td>
                    <td>Senior Javascript Developer</td>
                    <td>Edinburgh</td>
                    <td>22</td>
                    <td>2012/03/29</td>
                    <td>$433,060</td>
                </tr>
                <tr>
                    <td>Airi Satou</td>
                    <td>Accountant</td>
                    <td>Tokyo</td>
                    <td>33</td>
                    <td>2008/11/28</td>
                    <td>$162,700</td>
                </tr>
            </tbody>
        </table>
[/code]


CC BY-SA 3.0
2015-03-17T15:13:14.090
8032
2015-03-17T15:13:14.090
3516
8008
answer


逆に検索対象から外したい列を指定することはできるようなので、検索対象以外の列を指定するのもありかと思います。

以下のコードで1行目、5行目、6行目を検索対象から外すことができます。

[code]

    $('table').DataTable( {
        "columnDefs": [
            {"targets": 0, "searchable": false},    //検索対象外に設定
            {"targets": 4, "searchable": false},
            {"targets": 5, "searchable": false}
        ]
    });
    
[/code]


CC BY-SA 3.0
2015-08-17T07:50:12.540
14519
2015-08-17T07:50:12.540
10957
8008
answer