2013-08-24 2 views
1

ID가 'myTable'인 테이블이 있습니다. 이제 항목 이름을 적어서 myTable 셀에 있는지 여부를 확인하는 텍스트 상자가 있습니다.Jquery .filter() 함수 내에서 변수 값을 변경하십시오.

var retval=0; 
var search = $("#searchitem").val().trim(); 
$("table#myTable tr td").filter(function() { 
    if($(this).text() == search){retval=1;alert('Same item found');} 
else{retval=0;} 
}); 

문제는이 테이블 셀에 같은 항목을 발견 한 경우는 alertbox을 보여주고 있다는 것입니다 -이 작업을 수행하려면 다음 코드를 작성했습니다. 하지만 내 변수 retval의 값은 절대로 변하지 않습니다. 항상 0으로 표시됩니다. 어떻게 해결할 수 있습니까? 당신이 처음에 0에 변수를 할당하기 때문에

+1

HTML 코드를 작성하거나 바이올린을 만드실 수 있습니까? –

+0

retval을 어디에서 볼 필요가 있습니까? 거기에 범위가 있습니까? – Sergio

+3

아마도 하나의 반복에서 retval = 1을 만들고 다음에 다시 0으로 재설정 할 때 else 블록에 경고를 입력 한 다음 디버그합니다. – Farhan

답변

0

, 변수 값이있는 경우에만 발견이

var retval=0; 
var search = $("#searchitem").val().trim(); 
$("table#myTable tr td").filter(function() { 
    if($(this).text() == search){ 
     retval=1; 
     alert('Same item found'); 
     return false; 
    }else{ 
     retval=0; 
    } 
}); 
0

변화와 같은 return false을 시도하십시오.

var retval=0; 
var search = $("#searchitem").val().trim(); 
$("table#myTable tr td").filter(function() { 
    if($(this).text() == search){ 
     retval=1; 
     alert('Same item found'); 
    } 
}); 
0

난 당신이 사용하여 수행 할 수 달성하기 위해 무엇을하려고하는 생각은 : 나는 그것을 테스트하지 않았습니다하지만 작동 거의 확신

var search = $("#searchitem").val().trim(); 
var retval = $("table#myTable tr td:contains('"+search+"'") ? 1 : 0; 

이 같은() 셀렉터를 포함 . 훨씬 더 깔끔한 접근법과 확실한 읽기가 가능합니다.

jQuery를는 :http://api.jquery.com/contains-selector/

0

이 코드

var search = $("#searchitem").val().trim(); 
var filteredData = $("table#myTable tr td").filter(function(element, index) 
{ 
    return $(element).text() == search; 
}); 

조건을 만족 TD 소자 이제 코드 리턴 배열을 시도() 문서를 포함한다.

관련 문제