2012-04-11 29 views
0

在PHP中得到它的file.php?id=1然後$_GET['id']但它是如何在jQuery的?我試過以下,但沒有奏效。創建的jQuery

// jQuery 
$('id-' + $1).click(function() { 
    // more code 
} 

// HTML 
<div id="id-1">text</div> 

我在jQuery的是新來的GET所以請漂亮:P

在此先感謝。

回答

2

你應該分析location.search:

var GET = {}; 
var params = location.search.substr(1).split("&"); 
for (var i=0; i < params.length; i++) { 
    var par = params[i].split('='); 
    GET[par[0]] = par[1]; 
} 

$('#id-' + GET["id"]).click(function() { 
    // more code 
}); 
$(document).ready(function() { 
    $('#id-' + GET["id"]).click(function() { 
     $('#forecast').show().load('jquery-fetch/fetch-forecast.php?coor=' + GET["coor"] + '&d=' + $(this).attr('id')); 
     $('#current').hide(); 
    }); 
});​ 

// HTML 
<div id="id-1">text</div> 
+0

非常感謝您的回答,但它不適用於我:(我將您的代碼複製粘貼到我的源代碼並進行測試 - 當我點擊鏈接並且一切看起來像您的時候,什麼也沒有發生。 – Erik 2012-04-11 22:23:43

+0

Chrome中的控制檯(CTRL + SHIFT + J)在點擊鏈接時不會顯示任何錯誤。 – Erik 2012-04-11 22:32:53

+0

你能把你的代碼放到http://jsfiddle.net/嗎? – Gavriel 2012-04-11 22:35:44

1

你的意思GUP(獲得URL參數)?

在JavaScript中,這有沒有關係GET,得到的是瀏覽器使用制訂請求到服務器的方法。要從JS獲取URL參數,請執行以下操作:

var gup = function(name) { 
    var results = (new RegExp("[\\?&]"+name+"=([^&#]*)")).exec(window.location.href); 
    if (results == null) {return ""} 
    else {return results[1]} 
}; 

其中name是要檢索的字符串。

$('id-' + $1).click(function() { 
    var myId = gup("id"); 
} 
0

這可能是你在找什麼,但它只是純粹的JS,不知道是否有與jQuery一個簡單的方法:

function gup(name) 
{ 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) 
    return ""; 
    else 
    return results[1]; 
} 

然後使用它像:

var id_param = gup('id'); 

http://www.netlobo.com/url_query_string_javascript.html

+0

謝謝,但是如何用這個GUP從我的DIV標籤('

text
')中獲取ID? – Erik 2012-04-11 22:09:36

+0

不理我的答案,因爲你提到file.php?id = 1和$ _GET我以爲你試圖從查詢字符串中獲取id的值,而不是從html元素。 – Exupery 2012-04-12 00:06:33