2017-12-06 10 views
1

내 응용 프로그램에서 jQuery Datatables 플러그인을 사용하고 있습니다. 열의 데이터와 정확히 일치하는 문자열을 검색하려고합니다. 필자는 jQuery DataTables - 필 터 열을 정확한 일치로 검사하여 제 경우에는 작동하지 않습니다. 내 검색 문자열은 | 기호는 s1 | s2 | s12처럼 보일 수 있습니다. 검색 문자열은 해당 시간 (S1)의 기록에서 (S1)가 포함 된 경우 표시됩니다,하지만 난 여러 값 (S1)을 검색 할 때 | (S2)가 다음 레코드는DataTables 정규식과 정확히 일치하는 열 검색

jQuery("#myTable").DataTable() 
        .columns("#") 
        .search("^"+'s1|s2'+"$",true,false) 
        .draw(); 

결과 표시되지 않습니다 : 찾을 수 없음 결과입니다. 그때 addtional 레코드가 도시되어 코드 아래 시도

$('#myTable').DataTable().search('s1|s2').draw(); 

결과 : S1, S2, S11, S14, S22, S25 등

어떤 도움이 많이 이해 될 것이다

..

+0

도움이 되었든 없든 내 답변에 피드백을 줄 수 있다면 좋을 것입니다. –

답변

1

두 개의 대괄호가 빠졌습니다.

jQuery("#myTable").DataTable() 
        .columns("#") 
        .search('^(s1|s2)$',true,false) 
        .draw(); 

그리고 search('s1|s2') 기본 정규식 검색 방법에서 비활성화되어 있기 때문에 원하는 결과를 제공하지 않았다. 따라서 s1|s2을 s, 1, 2, |, s1, 1 |과 일치하는 문자열로 생각하고 있습니다. 당신은 두번째 매개 변수 true과 세번째 매개 변수를 false으로 제공하여 충돌을 피하고 예기치 않은 결과를 야기해야합니다. 자세한 내용은 search() method을 참조하십시오.