2013-12-24 5 views
0
<script type="text/javascript"> 
$(function(){ 
    $("a[rel='tab']").click(function(e){ 
    e.preventDefault(); 

    pageurl = $(this).attr('href'); 

    $.ajax({url:pageurl+'?rel=tab',success: function(data){ 
     $('#right_column').html(data); 
    }}); 

    if(pageurl!=window.location){ 
     window.history.pushState({path:pageurl},'',pageurl); 
    } 

    return false; 
    }); 
}); 
</script> 

앞의 코드에서 문자열을 필요 내가 링크가 <a> 태그 안에 rel="tab"로 클릭하면 내용으로 div 요소를 업데이트하기 위해 사용하고 있습니다 것입니다.자바 스크립트 : JQuery와

<a> 태그 :

<a href="index.php?v1=variable1&v2=variable2" rel="tab">Click Here</a>

그래서 지금, 나는 위의 링크에서 index.php를 밖으로 하위 문자열을 자바 스크립트 코드의 다음 줄을 업데이트해야 ...

$.ajax({url:pageurl+'?rel=tab',success: function(data){ 
      $('#right_column').html(data); 
     }}); 

하지만 자바 스크립트의 마지막 섹션에 대한 전체 URL을 pageurl로 유지해야합니다.

어떻게하면 좋을까요?

여기에 대한 연구를 수행했으며 여기에 나열된 답변 구현을 시도했습니다 : How to substring in jquery 하지만 제대로 작동하지 않는 것 같습니다.

+1

시도'pageurl.replace 시도 ('', 'index.php를')'대신. 편집 : 사실, 나는 index.php 유지하거나 제거 할 것인지 여부를 혼란스러워. – Popnoodles

+0

그래서'pageurl'을'? v1 = variable1 & v2 = variable2 & rel = tab'이 되길 원합니까? – Phil

+0

popnoodles - 시도했지만 작동하지 않았습니다. 어쩌면 잘못 구현 한 것일 수도 있습니다. 그것을 올바르게 수행했는지 알 수 있도록 코드에 구현할 수 있습니까? – kdjernigan

답변

2

왜 그런지 알고 싶지만 그렇게하고 싶습니다.

$.ajax({url:pageurl.replace('index.php', '') +'&rel=tab' ... 

주에게 CONCAT에 &하지 ?를 URL이 이미 ?

+0

이 코드를 사용하여 2 가지 작업을 수행합니다. # 1) 페이지를 새로 고침하지 않고 새 변수로 URL 업데이트 ... # 2) 오른쪽 열에로드 된 내용에 대해 index.php를 view.php (다른 페이지로 필요함)로 업데이트하여 모든 새 변수를 검색합니다. 링크가 클릭되고 변수가 변경되는 시간. 나는 PHP를 통해 변수를 검색하고 '$ _GET' 변수를 기반으로 다른 페이지를 해당 열에 포함시킵니다. 나는 jQuery 기반 탐색과로드 될 때마다 애니메이션을 수행하기 때문에 왼쪽 열을 다시로드 할 필요가 없도록이 작업을 수행하고 있습니다. – kdjernigan

+1

그래서'.replace ('index.php', 'view.php')는 더 좋을 수도 있습니다. – Popnoodles

+0

예. 도와 줘서 고마워. :) 다른 질문 으로이 코드에 대한 또 다른 질문을 게시했습니다.이 질문에 포함되지 않은 추가 코드로 작업하지 않는 뒤로 버튼이 관련되어 있습니다. 링크는 http://stackoverflow.com/questions/20754629/javascript-jquery-back-button-not-changing-content-at-all – kdjernigan

1

을 가지고 나는 당신이 쿼리 문자열이없는 URL을 원하는 생각합니다.

$.ajax({ 
    url: pageurl.split('?')[0]+'?rel=tab', 
    success: function(data) { $('#right_column').html(data); } 
}); 

이렇게하면 문자열을 물음표에 나눠서 배열을 만듭니다. 배열의 첫 번째 요소는 물음표 앞에있는 문자열의 일부입니다. 물음표가 없으면 전체 문자열이됩니다.

+0

에 있습니다. 내가 사용할 수 없게 된 것을 제외하면 이것은 효과가있었습니다. 그곳에. view.php를 index.php로 변경해야만 코드를 테스트 할 때'$ .ajax ({url : pageurl.replace ('index.php', 'view.php') + 'rel = tab''s 코드에 대한 더 나은 솔루션이 끝났다. 비록 당신의 공헌을 주셔서 감사합니다 :) – kdjernigan

0

그냥 href 속성에서 쿼리 문자열을 원하는 경우에,이

var ajaxUrl = this.search + (~this.search.indexOf('?') ? '&' : '?') + 'rel=tab'; 
$.ajax({ 
    url: ajaxUrl, 
    // ...