$('#link1').click(function() {
$.ajax({
url: 'index.php?do=link1',
type: 'POST',
success: function(data) {
blahblah
},
});
});
我将如何使其更具普遍性?
我希望有多个链接,进入一个ajax调用,但url使用调用它的链接的id进行更改...(希望有意义)
即
<a href="#" id="ajax-doit1"> one </a>
<a href="#" id="ajax-doit2"> two </a>
如果id以“ajax-”开头,则调用ajax,ajax根据“ajax-”之后的部分更改url 所以ajax-doit1会有一个index.php的网址?do = doit1
这可能吗?
抱歉,如果愚蠢的问题,jquery的新手。
答案 0 :(得分:0)
要概括,您可以添加一个本身返回函数的函数:
function makeEvent(linkName) {
return function() {
$.ajax({
url: 'index.php?do=' + linkName,
type: 'POST',
success: function(data) {
blahblah
},
});
}
}
$('#link1').click(makeEvent('link1'))
$('#link2').click(makeEvent('link2'))
答案 1 :(得分:0)
HTML:
<a href="#" class="ajax" id="ajax-doit1"> one </a>
<a href="#" class="ajax" id="ajax-doit2"> two </a>
JS:
$('.ajax').click(function() {
var suffix = $(this).attr('id').substr(5);
$.ajax({
url: 'index.php?do='+suffix,
type: 'POST',
success: function(data) {
blahblah
},
});
});
答案 2 :(得分:0)
你可以这样做:
HTML:
<a href="index.php?do=link1" id="ajax-doit1"> one </a>
<a href="index.php?do=link2" id="ajax-doit2"> two </a>
脚本:
$("a[id^='ajax-']").click(function() {
var link=this.href;
$.ajax({
url: link,
type: 'POST',
success: function(data) {blahblah},
});
});
$(“a [id ^ ='ajax-']”)选择ID为“ajax - ”的链接。
[更新]要在“ajax-”之后获取文本,请更改此行:
var link='index.php?do='+this.id.replace(/ajax-/,"");
答案 3 :(得分:0)
试试这个
$('a').click(function() {
var id = $(this).attr('id');
var link = id.split('-');
$.ajax({
url: 'index.php?do='+link[1],
type: 'POST',
success: function(data) {
blahblah
},
});
});