22003


テキストボックスにonkeyupで以下のSearchが呼ばれるとします。  
Searchの中で目的のテーブルを捕まえています。  
このキーワードにヒットする行のみ表示で、他の行を非表示にするコードを教えてください。

[code]

        function Search($this) {
    
            var keyword = $this.value;
    
            var rows = $("#TABLE1").rows;
            $.each(rows, function (i) {
                var cells = rows[i].cells;
            });
        }
    
[/code]


CC BY-SA 3.0
2016-02-12T06:31:52.073
22000
2018-09-20T08:42:32.887
14288
question
javascript html jquery
JQueryでテーブルを検索してヒットした行のみ表示する


`jQuery`的に書くなら`rows`, `cells`よりセレクタに`each`だと思います。  
キーワード一致は正規表現を使っています。このあたりは良しなに。

[code]

    $(document).ready(function(){
        
        $('input').on('keyup', function(){
            Search($(this).val());
        });
        
    });
    
    function Search(keyword) {
        
        var regExp = new RegExp(keyword);
        
        $('#TABLE1').find('tr').hide().each(function(){
            var tr = $(this);
            $(this).find('td').each(function(){
                if ($(this).text().match(regExp)) {
                    tr.show();
                }
            })
        });
    }
[/code]

[code]

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
    
    <table id="TABLE1"><tbody>
        <tr><td>a1</td><td>zzb1zz</td><td>c1</td></tr>
        <tr><td>a2</td><td>zzb2zz</td><td>c2</td></tr>
        <tr><td>a3</td><td>zzb3zz</td><td>c3</td></tr>
    </tbody></table>
    
    <input type="text" value="" />
[/code]


CC BY-SA 3.0
2016-02-12T09:03:16.030
22003
2016-02-12T09:08:47.063
2016-02-12T09:08:47.063
7214
7214
22000
answer