its*_*inn 8 javascript ajax jquery
有没有一种简单的方法可以使用click事件对象在单击链接的href属性的末尾获取参数?
我有一些看起来像这样的jQuery代码:
$(document).ready(function() {
$('#pages').delegate("a", "click", function(e) {
var formData = "parameters to clicked link";
$.ajax({
url: 'friends2.php',
dataType: 'json',
data: formData,
success: function(data) {
$('#searchbutton').attr("disabled", false);
$('#searchresults').html(data.results);
$('#pages').html(data.paginate);
}
});//ajax end
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
这是相关的HTML:
<div id="pages">
<span class="disabled">previous</span>
<span class="current">1</span>
<a href="friends.php?term=ma&p=2">2</a>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在尝试做的是对我用ajax完成的搜索结果进行分页.搜索运行正常,并获得与查询匹配的用户列表.创建分页链接的结果脚本部分也正常工作.
在上面的示例中,有两页结果.当用户单击链接转到结果的第2页时,我想要做的是拦截链接点击,而是使用term=ma&p=2传递给请求的数据创建新的ajax 请求.
所以,长话短说,是否有一种简单的方法可以term=ma&p=2从事件对象中获取传递给我jQuery上面的匿名函数?
您可以使用该this.href方法读取链接属性:
$('#pages').delegate("a", "click", function(e) {
var str = this.href.split('?')[1];
Run Code Online (Sandbox Code Playgroud)
例:
str = 'friends.php?term=ma&p=2';
console.log(str.split('?')[1]); // output: term=ma&p=2
Run Code Online (Sandbox Code Playgroud)
小智 5
是的,您可以使用.search链接的属性...
alert( this.search );
Run Code Online (Sandbox Code Playgroud)
演示: http : //jsfiddle.net/sHqmF/
为了摆脱?,只是.slice()它......
this.search.slice(1)
Run Code Online (Sandbox Code Playgroud)
演示: http : //jsfiddle.net/sHqmF/1/