点击不被触发

时间:2017-09-26 05:27:24

标签: javascript jquery

我尝试过以下代码行,例如

                  $(".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点击事件不会被触发。 请帮帮我!!!

2 个答案:

答案 0 :(得分: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>

希望它有所帮助:)

答案 1 :(得分:1)

您可以使用.on函数通过将动态添加的表格单元格附加到.datepicker div来侦听单击事件。

如果动态生成.datepicker div,您必须将on函数添加到文档本身。

e.g。

&#13;
&#13;
$(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>");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container"></div>
&#13;
&#13;
&#13;