2013-02-07 24 views
0

任何人都可以看到我在这里出错的地方,我试图获得链接后的最后一个字符,并放入一个变量中,但是我使用的代码返回/。在链接中提取?=后的字符

我的代码是:

$("#dvPartial").on('click', '.dvPagerCities a', function (event) { 
     alert('click detected'); 
     var city = ($('input#hdnCountry').val()); 
     alert(city); 
     var link = $('a').attr('href'); 
     //var getEqualPosition = link.indexOf('?p='); //Get the position of '=' 
     var getEqualPosition = link.indexOf('='); //Get the position of '=' 
     var number = link.substring(getEqualPosition + 1); //Split the string and get the number. 

我的链接是

<a href="/Weather/Index/Australia?p=2">»</a> 

我认为正在发生的事情是它拿起1 =。

我的理论是这样的。

1)检测单击事件

2)获取引发事件

3)提取p的值的链接,

p可为1个diget,2个digets或3个digets 。

任何帮助将不胜感激,因为它似乎不久我解决1问题,然后出现另一个问题。

感谢

乔治

+0

可能重复http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values) –

+0

它适用于我。看到这个例子http:// jsfiddle。净/ Dineshkani/7QHr4/ – Dineshkani

+0

嗨Dineshkani其工作在jsfiddle,或部分更新之外的静态链接,但不是在我的网页上创建链接时, – CareerChange

回答

1

假设p是在URL中的唯一参数,你可以简单地通过=标志分裂:

$("#dvPartial").on('click', '.dvPagerCities a', function (event) { 
    var city = $('input#hdnCountry').val(); 
    var number = $(this).attr('href').split('=')[1]; 
}); 
+0

谢谢Rory,你为我工作。 – CareerChange

0

试试这个:

link.split('?p=')[1]

0

试试这个:http://jsfiddle.net/7atyG/1/

$(document).on('click', '.dvPagerCities a', function (ev) { 
    ev.preventDefault(); 
    var link = $(this).attr('href'); 
    var Linkval = link.substr(link.indexOf('=') + 1); 
    alert(Linkval); 
}); 
1

问题是这样的部分:

var link = $('a').attr('href'); 

那请问选择被点击的链接,除非你碰巧点击第一个链接出现在该页面的HTML。选择全部<a>元素,然后返回第一个属性href

内部事件处理程序,要使用this指被点击的链接:

var link = $(this).attr('href'); 
// or simply 
var link = this.href; 
的[?我怎样才能查询字符串值(
+0

嗨安东尼,理论上说,我不得不在很短的时间内学习很多东西,为了教会我一些东西而给了一个点,谢谢 – CareerChange