0

我的 html 代码中有两个链接。我使用它们都使用 jQuery 来读取数据元素。但是,它对其中一个工作正常,而另一个则返回未定义的值。

html如下

<a class="loadCustomerInfo" href="#Augustinho" date-customerid="1" date-customername="Augustinho" date-customeraddress="mercado shoprite" date-companyname="Auto Kilimanjaro" date-phoneone="828759460" date-city="0">Augustinho</a>

我使用以下 jQuery

$(".loadCustomerInfo").live('click',function(){
  //alert("add item");
  var idVar=$(this).data('customerid');
  // alert($(this).innerHTML);

  alert($(this).attr('data-customername'));

  alert($(this).data('customername'));
  var randid = new Date().getUTCMilliseconds();

  $("#customerInfoTable").append('<tr><th id="customerInfoTH" colspan=2>Customer Information</th></tr>' +
  '<tr><th>Customer Name</th> <td>' +$(this).data('customername')+ '</td></tr>' +
  '<tr><th>Company Name</th><td>' +$(this).data('companyname')+ '</td></tr>' +
  '<tr><th>Address</th><td>' +$(this).data('customeraddress')+ '</td></tr>' +
  '<tr><th>City</th><td>' +$(this).data('city')+ '</td></tr>' +
  '<tr><th>Primary Phone</th><td>' +$(this).data('phoneone')+ '</td></tr>');


  //return false;
});

当我从 alert() 获得响应但始终未定义时,单击函数正在工作,同样在我的 html 中,它显示所有变量的未定义。

4

2 回答 2

2

您在 HTML 代码中的属性都以date-而不是data-.

解决这个问题,你会没事的。

于 2013-11-03T21:31:40.807 回答
0
  1. .live 已弃用,取而代之的是 .on

  2. 你把它包装在 $(function() {}) 中了吗?

  3. data-不是date-

  4. 使用window.console&&console.log而不是alert

  5. 传递事件和防止默认值:

像这样

$(function() {
  $(".loadCustomerInfo").on('click',function(e) {
    e.preventDefault();
    var idVar=$(this).data('customerid');
    .
    .
于 2013-11-03T21:35:56.847 回答