2013-02-13 3 views
0

jQuery 집합의 gt() 필터를 사용하려고합니다. 내 바램은 변경 이벤트를 트리거하는 요소보다 높은 색인으로 선택된 모든 요소를 ​​지우는 것입니다. 나는 그것이 변수 thisIndex을 정수로 받아들이도록 gt()을 얻을 수 없다는 것과 관련이 있다고 확신한다. 그렇게 할 수없는 문법을 찾은 것 같다.정수 변수를 허용하도록 jQuery 필터 가져 오기

$(document).ready(function() { 
    $(".slct").change(function() { // sensitize all slct elements 
     thisIndex = $(".slct").index(this); 
     selGT1 = $(".slct:gt(1)"); // TEST: this correctly selects the elements greater than 1  
     selectsGT = $(".slct:gt(thisIndex)"); // "I WANT thisIndex TO ACT LIKE A INTEGER"  
     $(selectsGT).val(""); // clear elements w/ a index greater than "this" 
    }); 
}); 
+0

jQuery 선택기는 문자열입니다. 당신은 문자열로 그것의 숫자 값을 문자열을 구성하는 추가 문자열을 사용하여 올바른 문자열을 작성해야합니다. – jfriend00

답변

2

현재 코드에서 "thisIndex"는 문자열의 일부로 해석됩니다. 정수를 문자열과 연결해야합니다. 따라서 다음 스 니펫은 트릭을 수행해야합니다.

selectsGT = $(".slct:gt(" + thisIndex + ")"); 
+0

대단히 감사합니다! – Mike