2017-09-26 46 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