0
$('#link1').click(function() {
   $.ajax({
    url: 'index.php?do=link1',
    type: 'POST',
    success: function(data) {
      blahblah
    },
  });
});

我怎样才能使它更普遍?

我希望有多个链接,进入一个 ajax 调用,但是 url 使用调用它的链接的 id 更改......(希望这是有道理的)

IE

<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 的 url

这可能吗?

抱歉,如果是愚蠢的问题,jquery 的新手。

4

4 回答 4

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'))
于 2013-03-26T05:23:20.920 回答
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
    },
  });
});
于 2013-03-26T05:23:25.337 回答
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
            },
          });
        });
于 2013-03-26T05:27:33.760 回答
0

You could do this:

html:

<a href="index.php?do=link1" id="ajax-doit1"> one </a>
<a href="index.php?do=link2" id="ajax-doit2"> two </a>

Script:

$("a[id^='ajax-']").click(function() {
   var link=this.href;
   $.ajax({
      url: link,
      type: 'POST',
      success: function(data) {blahblah},
   });
});

$("a[id^='ajax-']") selects the links with an id that starts with "ajax-".

[Update] To get the text after "ajax-" change this line:

var link='index.php?do='+this.id.replace(/ajax-/,"");
于 2013-03-26T05:25:57.737 回答