【问题标题】:AJAX click not working [duplicate]AJAX点击不起作用[重复]
【发布时间】:2014-06-28 06:01:31
【问题描述】:
$(document).ready(function(){

  $('#urun_ekbilgi').click(function() { 
    var clsnm = $(this).attr('class');
   $.ajax({
      type: 'POST',
      url: 'urun_bilgisi.asp',
      data: 'sno='+clsnm,
      success: function(ajaxCevap) {
        $("#ajaxPage").html(ajaxCevap);
      }
    });
    return false;
  });
});

<a id="urun_ekbilgi" class="1">İçerik 1 Getir</a><br>
<a id="urun_ekbilgi" class="2">İçerik 2 Getir</a><br>
<a id="urun_ekbilgi" class="3">İçerik 3 Getir</a><br>

<div id="ajaxPage"></div>

urun_ekbilgisi 不起作用!

点击 class="1" 工作
点击 class="2" 不起作用?为什么!

【问题讨论】:

  • id 在页面上应该是唯一的。你不应该有相同的id - Javascript 无法区分它们。
  • # urun_ekbilg 从数据库中动态生成。如何通过 ID 修复 ajax 端
  • 用class代替id
  • 应该怎么做。能不能写个例子。
  • @hari 呃,不是的。你知道deprecated 是什么意思吗?

标签: javascript jquery ajax


【解决方案1】:

当使用 ID 元素时,jquery 假设只有一个元素可以找到(因为 ID 应该是唯一的)。这就是为什么只有第一个“a”标签有效。 相反,您希望对所有“a”标签使用一个公共类,因为可以有多个标签具有相同的类。

这样的事情应该可以解决问题:

$(document).ready(function(){

    $('.urun_ekbilgi').click(function() { 
    var clsnm = $(this).attr('class');
    $.ajax({
          type: 'POST',
          url: 'urun_bilgisi.asp',
          data: 'sno='+clsnm,
          success: function(ajaxCevap) {
              $("#ajaxPage").html(ajaxCevap);
          }
    });
    return false;
    });
});

<a class="urun_ekbilgi">İçerik 1 Getir</a><br>
<a class="urun_ekbilgi">İçerik 2 Getir</a><br>
<a class="urun_ekbilgi">İçerik 3 Getir</a><br>

<div id="ajaxPage"></div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2013-10-07
    相关资源
    最近更新 更多