2013-11-03 58 views
0

我在我的html代碼中有兩個鏈接。我使用它們兩個來使用jQuery讀取數據元素。然而,它適用於其中的一個,另一個則返回未定義的值。返回undefined的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; 
}); 

單擊功能正在工作,我得到警報(),但總是不確定的反應,也是我的HTML它顯示所有變量未定義。

+2

1).live被棄用,以支持.on 2)你包裝在$(function(){})? 3)它是'data-'not'date-'4)使用window.console && console.log而不是alert。 – mplungjan

+0

使用'.on'而不是'.live',並且請檢查名字,因爲您有不同的屬性名稱js比html。 '日期'!='數據'。 –

回答

2

您在HTML代碼中的屬性全部以date-而不是data-開頭。

解決這個問題,你會沒事的。

+0

在去MS我的微積分考試之前,我的教授告訴我,兒子,記得有時候你會睜開眼睛,有時候複雜的問題有非常簡單的答案。 – user2950777

0
  1. .live是贊成不贊成使用。對

  2. 你包這$(函數(){})?

  3. data-date-

  4. 使用window.console&&console.log代替alert

  5. 通事件的preventDefault:

像這樣

$(function() { 
    $(".loadCustomerInfo").on('click',function(e) { 
    e.preventDefault(); 
    var idVar=$(this).data('customerid'); 
    . 
    .