2012-08-02 3 views
0

감사합니다. Stefan! 하지만 두 번째 '대안'을 시도했지만 제대로 작동하지 않았습니다.데이터를 필터링하는 함수 - if ... else 문

function filterData() { 
    var searchString = document.getElementById('search-string').value.replace(/'/g, "\\'"); 
    var filter = document.getElementById('filter').value.replace(/'/g, "\\'"); 
    layer.setOptions({ 
     query: { 
     select: "'geometry'", 
     from: '4756019' 
     where: "'" + filter + "' = '" + searchString + "'" 
     } 
    }); 
} 
+0

"작동하지 않습니까?" 어떤 증상이 있습니까? –

+0

글쎄, 올바른 값으로 데이터 (폴리곤)를 필터링하는 대신 모든 폴리곤은 "찾기!" 버튼이 클릭됩니다. –

+0

쓰레기! 내 첫 질문을 삭제했습니다! –

답변

1

나는 (내 교정과) jsFiddle에 코드를 넣어 : http://jsfiddle.net/odi86/6jvG4/

당신은 당신이 잘 작동을 추가하는 경우, 필터에 from 절을 추가하는 것을 잊었다 : 다음은 함수의

그런데
if (filter === "UEU") { 
    layer.setOptions({ 
     query: { 
      select: "'geometry'", 
      from: '4756019', 
      where: "'UEU' = '" + searchString + "'" 
     } 
    }); 
} 
else if (filter === "SUBUEU") { 
    layer.setOptions({ 
     query: { 
      select: "'geometry'", 
      from: '4756019', 
      where: "'SUBUEU' = '" + searchString + "'" 
     } 
    }); 
} 
else if (filter === "CODIGO") { 
    layer.setOptions({ 
     query: { 
      select: "'geometry'", 
      from: '4756019', 
      where: "'CODIGO' = '" + searchString + "'" 
     } 
    }); 
} 

:

layer.setOptions({ 
     query: { 
      select: "'geometry'", 
      from: '4756019', 
      where: "'" + filter + "' = '" + searchString + "'" 
     } 
    }); 
0 : 당신은 (필요한 경우 - 다른되지 않음) 이렇게 많은 코드를 단순화 할 수 있습니다