소스 검색

Fixed issue where report was blank if a dropdown filter was removed. Also cleaned up code.

ttreasure 4 달 전
부모
커밋
f9988a24e2
2개의 변경된 파일16개의 추가작업 그리고 16개의 파일을 삭제
  1. 3 1
      app/Http/Controllers/DataTablesController.php
  2. 13 15
      resources/js/datatables.js

+ 3 - 1
app/Http/Controllers/DataTablesController.php

@@ -108,7 +108,9 @@ class DataTablesController extends Controller
                         $query->where($columnName, '=', (int) $value[$index]);
                         break;
                         case 'dropdown':
-                            $query->where($columnName, '=', $value[$index]);
+                            if($value[$index] != '') {
+                                $query->where($columnName, '=', $value[$index]);
+                            }
                             break;
                 }
             }

+ 13 - 15
resources/js/datatables.js

@@ -58,21 +58,19 @@ function initializeDataTable() {
                         json.dropdowndata[index].forEach(function (option) {
                             var selected = false;
                             if(json.searchterms && json.searchterms[index]){
-                                    console.log('search terms '+index);
-                                    console.log(option);
-                                    if((json.searchterms[index][index]) && (option === json.searchterms[index][index]))
-                                    {
-                                        console.log("selected");
-                                       selected = true;
-                                    }
-
-                            }
-
-                            dropdown.append($('<option>',{
-                                value: option,
-                                text: option
-                            }).prop('selected', selected))});
-                    }});
+                                    Object.keys(searchTerms[index]).forEach(function (key){
+                                        var searchValue = searchTerms[index][key]
+                                        console.log('value: '+searchValue)
+                                        if(option === searchValue)
+                                        {
+                                            selected = true;
+                                        }})}
+
+                                        dropdown.append($('<option>',{
+                                            value: option,
+                                            text: option
+                                        }).prop('selected', selected))});
+                              }});
 
 
                             return json.data;