2017-09-26 95 views
0

我已經嘗試了以下幾行像​​點擊沒有得到觸發代碼

    $(".datepicker .day").click(function(){ 
        var dob = $("#dobfield").val().trim(); 
        var calculatedAge = GetAge(dob); 

        if(calculatedAge < 0) 
         $("#age").val(""); 

        else if(!isNaN(calculatedAge)) 
         $("#age").val(calculatedAge); 
       }); 

在HTML

  <div class="datepicker"> 
      ... 
      <table> 
       ... 
       <tr> 
       ... 
        <td class="day"> 12</td> 

我試圖動態地添加年齡文本框的年齡。 .datepicker .day點擊事件沒有被激發。 請幫助我!

+0

你可以添加codepen演示? –

+1

似乎工作正常。也許你添加click事件時你的表格單元不存在? – H77

+0

單元格是動態添加還是在頁面加載時可用? – H77

回答

1

試試這個。它似乎很好地包裝你的代碼$(document).ready函數。以下是工作代碼的演示。

$(document).ready(function() { 
 
    $(".datepicker .day").click(function() { 
 
    var dob = $("#dobfield").val().trim(); 
 
    console.log(dob) 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div class="datepicker"> 
 

 
    <table> 
 
    <tr> 
 
     <td class="day"> 12 </td> 
 
     <td><input id="dobfield" value="56" /></td> 
 
    </tr> 
 
    </table> 
 
</div>

希望它能幫助:)

+0

它已經包裝在我的實際代碼 – Nida

+0

中的文檔就緒功能,那麼可能會有一些其他錯誤,你可以分享你的控制檯。如果你可以創建一個複製你的問題的演示,那麼你會很棒。 – Manish

+0

控制檯中沒有錯誤信息,因爲它沒有被觸發 – Nida

1

您可以通過它連接到.datepicker DIV使用.on功能收聽動態添加表格單元格的單擊事件。

如果.datepicker div是動態生成的,則必須將on函數添加到文檔本身。

例如

$(document).on("click", ".datepicker .day", function() { 
 
    console.log("clicked"); 
 
}); 
 

 
// dynamically adding the datepicker. 
 
$("#container").append("<div class='datepicker'><table><tr><td class='day'>12</td></tr></table></div>");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="container"></div>

+0

對不起,這是行不通的...我應該把它包裝在文檔中ready函數 – Nida

+0

我已經更新了動態添加datepicker div。新代碼是否工作? – H77

+0

thankyou幫助我,但它仍然不起作用 – Nida