2012-05-17 2 views
0

http://jsfiddle.net/danesoul/tSCus/2/ - 여기 간단한 JQuery UI 탭 인터페이스의 작동 예제가 있습니다.간단한 JQuery UI 변수 전달 문제 (구문)

curent_tab이 정의 된 주석 문자열이 작동하지 않아 탭이 깨집니다.

이 구문을 올바르게 작성하도록 도와주세요. 코드의

일반 아이디어 : 내 기능 MySelect()에 있어야합니다

  1. 현재 선택된 탭의 인덱스를 유지 변수

  2. 를 유지 변수 OnSelect 이벤트가 발생했을 때 선택된 탭의 인덱스.

미래의 비교를 위해이 두 값을 강하게 요구하는 더 복잡한 솔루션의 일부가 있습니다. 여기 jsfiddle JS 코드의

복사 :

function MySelect(event, ui){ 
    var clicked_tab = ui.index //new clicked tab 0-1-2 indexes 
    alert(clicked_tab); 
    alert(curent_tab +'/'+ clicked_tab);  
} 

$(function() { 
    $('#tabs').tabs({ 
     //var curent_tab = ui.index; //befor new one clicked 0-1-2 
     select: function(event, ui) { 
      MySelect(event, ui); 
     } 
    }); 
}); 

답변

1

난 당신이 현재 탭을 얻으려면 제대로 이해하고 탭을 클릭합니다. 많은 감사를, 코드 아래에보십시오

DEMO

$(function() { 
    var current_tab; 
    var clicked_tab; 

    $('#tabs').tabs({ 
     show: function(event, ui) { 
      current_tab = ui.index; 
     }, 
     select: function(event, ui) { 
      clicked_tab = ui.index; //befor new one clicked 
      MySelect(event, ui); 
     } 
    }); 

    function MySelect(event, ui) { 
     //clicked_tab = ui.index //new clicked tab 
     alert(current_tab + '/' + clicked_tab); 
    } 
}); 
+0

이 완벽하게 작동합니다! 그러나 나는 질문이 있습니다. 왜 clicked_tab = ui.index를 써야합니까? 두 번 문자열? MySelect() 함수 밖에서이 문자열을 주석 처리했으며 여전히 동일하게 작동합니다. – DaneSoul

+1

@DaneSoul 사실 당신은 할 필요가 없습니다 .. http://jsfiddle.net/skram/tSCus/5/ 업데이트 된 게시물. –

+0

베가, 빠르고 정확한 도움을 많이 주셔서 감사합니다! – DaneSoul