2013-12-13 4 views
1

나는 지난 하루 반 동안이 일에 매달 렸습니다. 나는 (html 표준 마크 업으로 .csv 파일을 가져 오기 위해 PHP 스크립트에서 생성되는) 내 HTML 테이블에 실시간 필터를 추가하려고합니다. 다음 코드에서 벗어난 http://jsfiddle.net/7BUmG/2/How to perform a real time search and filter on a HTML table에서 코드를 작성했습니다.테이블 필터가 작동하지 않습니다.

이제 요소가 DOM의 시간에 정의되지 않는다는 것이 문제라고 생각합니다. 나는 이것을 위해 다음을 추가하려고 노력했지만 행운은 없다.

<script> 
$(document).ready(function() { 
// My javascript 
}); 
</script> 

<script> 
$(document).on('pageinit') { 
// My javascript 
}); 
</script> 

또한 단지 일반 기능 태그

<script> 
$(function(){ 
// My javascript 
}); 
</script> 

사람이 내 html 페이지에서 키 입력에 따라 수행하는 코드를 JS 얻는 방법을 알고 있나요? (위에 제공된 링크에서 작동하지만 jsfiddle 외부에서는 작동하지 않음)

$('#search').keyup(function() { 
    var $rows = $('#table1 tr'); 
    var val = '^(?=.*\\b' + $.trim($('#search').val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$', 
     reg = RegExp(val, 'i'), 
     text; 
    $rows.show().filter(function() { 
     text = $(this).text().replace(/\s+/g, ' '); 
     return !reg.test(text); 
    }).hide(); 
}); 

ps. 이것은 첫 번째 게시물이므로 뭔가 잘못했거나 더 자세한 설명이 필요한지 알려주십시오. 감사!

+0

검색 버튼이 존재합니까? 아니면 동적으로 추가 되었습니까? – epascarello

+0

나는 테이블 바로 앞에 나타나는 것을 가지고있다. 이것은 다음과 같이 보입니다 : var $ rows = $ ('# table1 tr') 그리고 LearnerMike

+0

그리고, ; '위의 코드에서와 같은 키 업 내부에 있습니까? 바이올린은 밖에 있습니다. – epascarello

답변

0

DOM 트리를 만든 후에 JS 이벤트를 바인딩 하시겠습니까?

예. 코드를 ready으로 작성하십시오.

$(document).ready(function(){ 

    $('#search').keyup(function() { 
     //... 
    } 

}) 
+0

예. 현재 가지고있는 것입니다. $ (document). 준비 (함수() { // $ (함수() { \t $ ('# 검색')의 keyup (함수() { \t \t var에 $ 행 = $ ('#의 표 1의 TR');. \t ('\\ b'(? =. *)). \\ b ') +'). * $ ', \t \t \t reg = RegExp (val, 'i'), \t \t \t 텍스트; \t \t $의 rows.show (() 함수() { \t \t \t 텍스트 = $ (이)는 .text() (/ \ S +/g 교체 ') 필터링;.. \t \t \t 복귀! reg.test (text); \t \t}). hide(); \t}); }}); – LearnerMike

관련 문제