2013-12-24 54 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> 

上面的代碼是我使用的時候點擊一個鏈接與rel="tab"<a>標籤中的內容更新div元素的內容。的JavaScript/jQuery的:需要子jQuery中

<a>標籤:

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

所以,現在,我需要更新的JavaScript代碼以下行上面的index.php串搞出來的鏈接...

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

但是需要保留javascript的最後一部分的完整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

是的,這是我最終改變它。感謝您的幫助:)我已經發布關於此代碼的另一個問題作爲另一個SO問題。這涉及到後退按鈕不能處理此問題中未包含的其他代碼。鏈接是在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

這將工作,除非我最終不能使用''那裏。我不得不將index.php改爲view.php,因爲我測試代碼的方式如此:$ .ajax({url:pageurl.replace('index.php','view.php')+'&rel = tab''最終成爲代碼的更好的解決方案。感謝您的貢獻:) – kdjernigan

0

如果你只是想從href屬性的查詢字符串,試試這個

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