2012-04-11 20 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