2009-11-30 2 views
1

프로토 타입에서 변수를 선택기로 전달하는 데 약간의 어려움이 있습니다. 하나의 함수가 많은 종류의 동일한 변수에 대해 작동 할 수 있도록 select 문자열에 변수를 전달할 수 있기를 원합니다. 순간 프로토 타입 : 동적으로 선택기를 구성하는 방법은 무엇입니까?

, 이것은 기본적으로 내가 무엇을 하시겠습니까 것입니다 : 나는 패턴을 숨길 수 있도록

function myFunct(var) 
{ 
    $(var + 'add_form').hide() //so inde the brackets would be ('#product1 #add_form') for example. 
} 

것은 선택기에 전달할 것이라고 함수에 'VAR'을 통과 할 수 이는 페이지의 많은 사람들에게 동일합니다.

따라야 할 경로에 대한 아이디어가 있으면 크게 감사하겠습니다.

답변

1

당신은 올바른 길을 걷고 있습니다! 커플 일 :

  1. var은 자바 스크립트 키워드 (source), 변수는 ID를 기준으로 요소를 조회하는 경우
  2. 의 이름을 사용하지 않는 것입니다 (예 : #add_form) 당신은 할 필요가 없습니다 당신이 class하여 요소를 조회하는 경우는
  3. 을하고있는 임의의 컨테이너 요소를 추가, 당신은 $$ 기능이 아닌 $ 기능 당신은 당신의 메서드를 호출하기 위해 포장 세트를 반복 할 필요가
  4. 를 사용할 필요가
  5. 공백은 CSS 선택기에서 중요하다, 그래서 당신의 부모 컨테이너 내에 를 검색 할 프로토 타입에게 당신의 선택 건설 사람들을 포함해야합니다 : 그것에 대해

    언리얼
    function myFunct(parent) { 
        $$(parent + ' .add_form').invoke('hide') 
    } 
    
    myFunct('#someparent'); // hides .add_form inside #someparent 
    
+0

, 감사합니다. – frodosghost

0

그게 효과가 있습니다 ... var의 이름을 바꿉니다.

0
function myFunct(yourVar) 
{ 

    $$('#' + yourVar + ' .add_form').each(function(s){ s.hide(); }); // yourVar being the id of the container element 

} 

'.' 동일한 ID를 가진 여러 요소를 사용할 수 없으므로 add_form 앞에 클래스를 추가하십시오.