2014-07-23 1 views
0

내 html로 표를 검색하고 싶습니다. 나는 그것을위한 코드를 가지고 있지만 "what is that"을 타이핑 할 때와 같이 "what is that"을 검색하는 것과 같은 대안을 취하지 않는다. "그게 뭐야?"js로 표 검색

또한 마지막에 스크립트를 무시하고 공백 문자 만 입력하면됩니다. 여기 jsfiddle.net/x7aUy/4
코드입니다 :
여기 는 바이올린입니다

function doSearch() 
{ 
    var searchText = document.getElementById('searchTerm').value; 
    var targetTable = document.getElementById('dataTable'); 
    var targetTableColCount; 

    //Loop through table rows 
    for (var rowIndex = 0; rowIndex < targetTable.rows.length; rowIndex++) { 
     var rowData = ''; 

     //Get column count from header row 
     if (rowIndex == 0) { 
     targetTableColCount = targetTable.rows.item(rowIndex).cells.length; 
     continue; //do not execute further code for header row. 
     } 

     //Process data rows. (rowIndex >= 1) 
     for (var colIndex = 0; colIndex < targetTableColCount; colIndex++) { 
      rowData += targetTable.rows.item(rowIndex).cells.item(colIndex).textContent; 
      //if table rows = 0 then show no results text 

      if (rowIndex <= 1) 
      { 
       document.getElementById('noresults').style.display = "block"; 
      } 

     } 

     //If search term is not found in row data 
     //then hide the row, else show and hide no results text 
     if (rowData.indexOf(searchText) == -1){ 
      targetTable.rows.item(rowIndex).style.display = 'none'; 

     }   
     else { 
      targetTable.rows.item(rowIndex).style.display = 'table-row'; 
      document.getElementById('noresults').style.display = "none"; 
      } 
    } 
} 
+0

여기에 바이올린 – Unknownman

+0

을 제공 당신은 갈 : http://jsfiddle.net/x7aUy/4/을 당신은 [fullproof] (HTTP를 확인 할 수 있습니다 – d0ve

+0

: // reyesr .github.io/fullproof /) – parchment

답변

0

내가 이해한다면, 당신이 원하는 것은 아닌 소문자를 구분 검색은?

예인 경우 두 데이터 모두에서 toLowerCase()를 수행하십시오. 이 라인에서

:

if (rowData.indexOf(searchText) == -1){} 

그냥 할

if (rowData.toLowerCase().indexOf(searchText.toLowerCase()) == -1){} 

그런 다음, '되는 searchString이'검색 문장 '또는'검색 문장 '

과 일치합니다

당신은 공백을 제거하려면 , 입력에 정규식 필터를 추가하십시오.

searchText = searchText.replace(/^\s+|\s+$|\s+(?=\s)/g, ""); 

(이 하나 Regular expression for removing whitespaces에 학점)

+0

첫 번째 일이 도움이되었지만 실제로는 두 번째가 아닙니다. ( 나는 앞에있는 공백을 삭제하고 항목 뒤에 있습니다. – d0ve

+0

정규 표현식 부분을 편집했습니다. 이제 작동해야합니다 – Larta

+0

고맙습니다. 고맙습니다. 이제 잘 작동합니다. – d0ve