2012-11-12 3 views
0

jQuery 도구 탭을 사용하고 있습니다 ... 동일한 페이지의 별도 링크에서 탭을 열 필요가 있습니다. 여기에 내가 시도하는 코드가있다. 당신이 좋겠,jQuery Tools 탭 - 다른 텍스트 링크의 탭에 링크 하시겠습니까?

<a href="#" id="click-me">Click me</a> 

당신은 "탭 링크 1"을 열고 자 :

jQuery(function($){ 

     $('#accord1trig').click(function(){ 
       $(".accordion").tabs('selected', 1); 
     }); 

     $('#accord2trig').click(function(){ 
       $(".accordion").tabs('selected', 2); 
     }); 

     $('#accord3trig').click(function(){ 
       $(".accordion").tabs('selected', 3); 
     }); 

     $('#accord4trig').click(function(){ 
       $(".accordion").tabs('selected', 4); 
     }); 

}); 

하고 "별도의 링크를"가정

<a href="#" id="accord1trig">Tab Link 1</a> 
<a href="#" id="accord2trig">Tab Link 2</a> 
<a href="#" id="accord3trig">Tab Link 3</a> 
<a href="#" id="accord4trig">Tab Link 4</a> 

답변

1

을 다음과 같이 HTML은이다 스크립트의 첫 번째 jQuery .click()을 다음으로 변경하십시오.

jQuery(function($){ 

    $('#accord1trig, #click-me').click(function(){ 
      $(".accordion").tabs('selected', 1); 
    }); 

    // Remainder of your code... 

}); 

내가 쉼표로 구분하고 거기에있는 셀렉터에 #click-me을 추가 한 방법을 보시나요?

업데이트 : 사용자가 제공 한 URL을 기반으로

의가 나를 위해 일한 다음 :

<script type='text/javascript'> 
jQuery(function(){ 
    jQuery('h4 a[data-tab]').click(function(e){ 
     e.preventDefault(); 
     var tab = jQuery('.accordion-toggle:eq(' + (parseInt(jQuery(this).data('tab')) - 1) + ')'); 
     tab.triggerHandler('click').addClass('current'); 
    }); 
}); 
</script> 
+0

이것은 처음부터 시도했지만 행운이 없었습니다. 여기에 내가 해결책을 구현하려고하는 곳이있다. http://www.peachtreewimensclinic.com/provider/ 의사, Midwifes 등을 해당 탭에 연결하려고 시도하고있다. –

+0

제공하신 URL을 기반으로 업데이트 된 솔루션을 확인하십시오. – Coby

+0

코비 대단히 고마워. 내 머리카락을 찢어 버렸다. –

0

사용 e.preventDefault() 기본 동작을 중지합니다. 또한 당신은

HTML

<a href="#" id="accord1trig" data-tab="1">Tab Link 1</a> 
<a href="#" id="accord2trig" data-tab="2">Tab Link 2</a> 
<a href="#" id="accord3trig" data-tab="3">Tab Link 3</a> 
<a href="#" id="accord4trig" data-tab="4">Tab Link 4</a> 

자바 스크립트

..

는 HTML-5 데이터 탭의 정보를 저장하는 속성 추가 ... 단일 이벤트 처리기에 코드를 축소 할 수 있습니다
$('#accord1trig ,#accord2trig , 
       #accord3trig ,#accord4trig ').on('click' , function(){ 

     var tab = parseInt($(this).data('tab') , 10) ; 
     $(".accordion").tabs('selected', tab); 
}); 

또는 Simpl y

$('[id^="accord"]').on('click' , function(){ 

      var tab = parseInt($(this).data('tab') , 10) ; 
      $(".accordion").tabs('selected', tab); 
    }); 
+0

이 솔루션을 사용해 보았지만 행운은 없었습니다. 여기에 솔루션을 구현하려고하는 곳이 있습니다. http://www.peachtreewomensclinic.com/provider/ –