2012-04-12 2 views
0

내 페이지에 표시된 표를 통해 검색하는이 검색 스크립트가 있습니다. 테이블은 데이터베이스에서 PHP로 표시됩니다. 실제로 목록이고이 목록은 A부터 Z까지의 하이퍼 링크를 사용하여 사전 순으로 정렬됩니다. 이제 표시된 데이터베이스 대신 전체 데이터베이스를 검색해야합니다. 도움이나 자원이 도움이 될 것입니다. :)검색 스크립트를 어떻게 향상시킬 수 있습니까?

$(document).ready(function() { 

    $("#search").keyup(function() { 

     if($(this).val() != "") { 

      $("#some_table tbody>tr").hide(); 
      $("#some_table td:contains-ci('" + $(this).val() + "')").parent("tr").show(); 
     } else { 
      $("#some_table tbody>tr").show(); 
     } 
    }); 
}); 

$.extend($.expr[":"], { 
    "contains-ci" : function(elem, i, match, array) { 
     return (elem.textContent || elem.innerText || $(elem).text() || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0; 
    } 
}); 
+0

데이터를 출력하기 전에 데이터베이스를 검색하고 싶습니까? – MetalFrog

+0

예 이제 전체 데이터베이스를 검색하고 싶습니다. – Kaushank

+0

아마도 [codereview] (http://codereview.stackexchange.com) –

답변

0

아마도 결과를 서버에서 json 개체로 반환하십시오.

http://your.hostname/database.json[{id:1,name:'joe'},{id:2,name:'bob'},...]을 반환합니다.

그런 다음 표시된 표를 동적으로 작성하십시오.

function refreshTable() { 
    $.ajax({ 
     url:'http://your.hostname/database.json', 
     dataType:'json' 
    }).done(function(json) { 
     $('#my_table tbody tr').remove(); 
     for (i in json) { 
      $('#my_table tbody').append($('<tr><td>'+json[i]['id']+'</td><td>'+json[i]['name']+'</td></tr>')); 
     } 
    }); 
} 

특정 간격에 전화 페이지가 처음로드 refreshTable, 어쩌면, 또는 사용자가 누를 때 버튼이나 뭔가를 "새로 고침".

glhf!

관련 문제