2015-01-05 3 views
0

위의 검색 입력 필드와 함께 MySQL 데이터로 채워진 HTML 테이블을 보여주는 페이지가 있습니다.
해당 검색 (keyup)을 사용하면 AJAX 스크립트가 호출되고 검색 결과로 테이블 내용이 축소됩니다. 여태까지는 그런대로 잘됐다.검색 양식을 지울 때 원래 상태로 돌아 가기

검색 필드를 지우는 경우에만 원래 HTML 표를 다시 표시하고 싶습니다. 문제는 GET 변수의 마지막 문자를 백 스페이스/제거 할 수 없다는 것입니다.
예 :

.../search.php?search=word 
.../search.php?search=wor 
.../search.php?search=wo 
.../search.php?search=w 

그래서 대신 원래 테이블 상태로 반환하는, 그것은 나에게 'W'를 포함하는 모든 항목을 보여주는 유지합니다.

내 search.js :

값이 비어 있지 않을 때 조치 수신기는 작동하기 때문에입니다
$(document).ready(function() { 
    $('#spelerzoeken').keyup(function() { 
     var speler = $(this).val(); 

     if (speler !== '') { 

      $.ajax({ 
       url: 'includes/search.php?search=' + speler, 
       success: function(returnData) { 
        if (!returnData) { 
         $('.spelers').html('<span style="margin-top: 20px; margin-bottom: 20px; margin-left: 10px; display: block; width: 200px">Geen speler(s) gevonden.</span>'); 
        } else { 
         $('.spelers').html(returnData); 
        } 
       } 
      }); 
     } 
    }); 
}) 
+1

if (speler! == '') {'그것은 if 때문입니다. 내부 테이블을 원래 테이블을 다시 작성하는 데 추가하십시오. – Daan

+0

좋아, 고마워, 너는 내 안에 들어와야 할 것에 대해 나에게 올바른 방향으로 조금 밀어 주겠니? 나는 정말로 JQuery가 아니다. – JK87

답변

0

. else 문을 사용하여 원래 검색 테이블을 표시 할 수 있습니다.

if (speler !== '') { 

     $.ajax({ 
      url: 'includes/search.php?search=' + speler, 
      success: function(returnData) { 
       if (!returnData) { 
        $('.spelers').html('<span style="margin-top: 20px; margin-bottom: 20px; margin-left: 10px; display: block; width: 200px">Geen speler(s) gevonden.</span>'); 
       } else { 
        $('.spelers').html(returnData); 
       } 
      } 
     }); 
    } 
    else 
    { 
     $.ajax({ 
      url: 'includes/search.php?search=', //Here your AJAX request for the original table 
      success: function(returnData) { 
       if (!returnData) { 
        $('.spelers').html('<span style="margin-top: 20px; margin-bottom: 20px; margin-left: 10px; display: block; width: 200px">Geen speler(s) gevonden.</span>'); 
       } else { 
        $('.spelers').html(returnData); 
       } 
      } 
     }); 
    } 
+0

고맙다. – JK87

1

글쎄, 당신이 줄이 있기 때문에 :

if (speler !== '') { 

을 그것은 origine에 새로 고칠 수 없습니다. 입력을 모두 지우면 ('w'에서 '') 조건이 채워지지 않고 새로 고침되지 않기 때문에.

관련 문제