按选择类别和子类别搜索名称

时间:2018-03-09 00:22:25

标签: jquery firebase datatables

我有一个页面,在表格中显示它所属的名称,类别和子类别。

我正在尝试通过选择部署类别类别搜索和子类别。它正在工作,我选择一个子类别,数据表在表格中搜索他们的通讯员,但是当我返回并选择一个类别时搜索没有正确发生时,它会搜索上一次搜索中绘制的表格,即在搜索子类别时,并未显示选择了相同字符串的行的所有匹配项。

我的选择代码是:

$("#select-categories").each( function ( i ) {
            var select = $('<select class="form-control"><option value="" id="Todos" class="optionGroup">Todas</option></select>')
                  .appendTo( $(this).empty() )
                  .on( 'change', function () {
                      if ($('#select-categories option:selected').prevUntil("option.optionGroup").prev().val() != undefined){

                        var catTerm = $('#select-categories option:selected').prevUntil("option.optionGroup").prev().val()
                        var searchTerm = this.value.toLowerCase(),
                        regexSub = '\\b' + searchTerm + '\\b';
                        regexCat = '\\b' + catTerm + '\\b';
                        table.column(2)
                            .search( regexCat, true, false ).column(3).search( regexSub, true, false)
                            .draw();
                        $('#tableCustom_filter > label > input[type="search"]').val('')
                      }
                      else if ($('#select-categories option:selected').prevUntil("option.optionGroup").prev().val() == undefined) {
                        if ($('#select-categories option:selected').attr("id") == 'categoria'){

                        var catTerm = $('#select-categories option:selected').prev().val()
                        var searchTerm = this.value.toLowerCase(),
                        regexSub = '\\b' + searchTerm + '\\b';
                        regexCat = '\\b' + catTerm + '\\b';
                        table.column(2)
                            .search( regexSub, true, false )
                            .draw();
                        $('#tableCustom_filter > label > input[type="search"]').val('')
                        }
                        else {
                          var catTerm = $('#select-categories option:selected').prev().val()
                          var searchTerm = this.value.toLowerCase(),
                          regexSub = '\\b' + searchTerm + '\\b';
                          regexCat = '\\b' + catTerm + '\\b';
                          table.column(2)
                              .search( regexCat, true, false ).column(3).search( regexSub, true, false)
                              .draw();
                          $('#tableCustom_filter > label > input[type="search"]').val('')
                        }
                      }
                      else if($('#select-categories option:selected').attr("id") != 'Todos'){

                        var searchTerm = this.value.toLowerCase(),
                        regex = '\\b' + searchTerm + '\\b';
                        table.column(2)
                            .search( regex, true, false )
                            .draw();
                        $('#tableCustom_filter > label > input[type="search"]').val('')
                      } 
                      else{
                        window.location = "/condominios";
                      }

                  });




        });

0 个答案:

没有答案