2009-10-08 6 views
5

아래의 각 탭과 연결된 쿼리 문자열 (? id = avalue)을 어떻게 전달할 수 있습니까? 내가 잘하고있어 탭 내의 외부 콘텐츠를 열려고하지만 URL과 매개 변수를 전달하지 못했습니다. 매개 변수의 값은 각 링크에 대해 동일합니다.jquery-ui-tabs. 쿼리 문자열 전달

내 기능 코드 : 당신이 나를 제공 할 수있는 어떤 도움이 많이 이해할 수있을 것이다

<script type="text/javascript"> 

     $(function() { 
      $("#tabs").tabs({spinner:'<b>Retrieving Data...</b>'}); 

     }); 

</script> 


<div id="tabs"> 
      <ul> 
      <li><a href="table.aspx"><span>Introduction</span></a></li> 
       <li><a href="RequestActionUpdate.aspx"><span>Update</span></a></li> 
       <li><a href="tabstesttarget.aspx"><span>Target</span></a></li> 
       <li><a href="table.aspx" ><span>View History</span></a></li> 
      </ul> 

     </div> 

.

<li><a href="RequestActionUpdate.aspx?id=avalue"><span>Update</span></a></li> 

이 잘 작동한다 : 각 링크에 매개 변수를 하드 코딩 할 수 있습니다 사전

답변

1

감사합니다. 정확히 당신에게 효과가없는 것은 무엇입니까? 아니면 다른 것을 염두에 두셨습니까? 페이지로드에 고정하는 HREF를 업데이트하는 것입니다

window.location = href + '?id=avalue' 

: 나는 같은 추악한 일을 할 필요없이이 접근하는 가장 좋은 방법을 수행 한 검색에서

+0

내가 매개 변수가 각 탭에 대해 동일 것이지만, 각 세션에 대해 달라질 수 있음을 언급하는 것을 잊었다. 아마 숨겨진 상자에서 가져 가려고합니다. –

1

. 필요로하는 ID/값을 잡아서 추가하십시오.

$(document).ready(function(){ 
    value = "?id=foobar" 
    $("#tabs ul li a").attr('href', ($(this).attr('href') + value)); 
}); 

가장 세련된 솔루션은 아니지만 작동합니다.

1

모든 링크에 이벤트 관찰자를 추가하면 어떻게됩니까?

$("#tabs ul li a").click(
    function(){ 
     $(this).attr('href', $(this).attr('href') + $('#someHiddenInput').val()); 
    } 
); 
9

ajaxOptions 옵션을 사용할 수 있습니다. 탭 위젯은이 옵션을 jQuery.ajax()에 전달합니다.

다음 코드 탭이 선택되면, 서버에 getId 기능 (이 예에서는 유닉스 - 스타일의 타임 코드)의 결과를 전달하는 jQuery.ajax() 함수 data 옵션을 사용한다.
요청 URL은 RequestActionUpdate.aspx?id=1255015611701처럼 보일 것입니다 :

function getId() { 
    return (new Date()).getTime(); 
} 

$("#tabs").tabs({ 
    spinner:'<b>Retrieving Data...</b>', 
    ajaxOptions: { data: { id: getId } } 
}); 
+0

Brilliant. 이것은 내가 찾으려고했던 해결책 이었지만 그것을하는 법을 알 수 없었습니다. 확실히 우아하고 효율적인 솔루션. –

+0

그것은 치료를했습니다! 그 점에 대해 많은 감사드립니다. –

+0

기꺼이 도와 드리겠습니다. 대답을 수락 된 것으로 표시해야 함을 기억하십시오.) – brianpeiris