Bootstrap Date-picker不会触发changeDate事件

时间:2015-07-17 09:40:35

标签: javascript jquery twitter-bootstrap

ASPX

<asp:TextBox class="form-control date-picker" runat="server" ID="txtDate" data-date-format="dd-mm-yyyy">
</asp:TextBox>
<span class="input-group-addon">
    <i class="icon-calendar bigger-110"></i>
</span>

JS

<script>

   $('#txtDate')
          .datepicker()
          .on('changeDate', function(ev) {
                alert(":P :P");
                if (ev.date.valueOf() < date - start - display.valueOf()) { alert(":P"); }
  });
</script>

有人可以帮我解决这个问题。我是bootstrap的新手

2 个答案:

答案 0 :(得分:0)

请确保bootstrap版本和bootstrap datepicker插件版本.Bootstrap为changeDate事件添加了3个属性。

$('#calendar').datepicker().on('changeDate', function (e) {
    alert(e.format());
});

答案 1 :(得分:0)

你确定这绝对是文本框的ID吗?如果您在网络表单中使用内容工作区和母版页,您会发现该ID前面附有其他信息。

在javascript中尝试<%= txtDate.ClientID %>以获取服务器控件将呈现的ID。

示例:

<script>

   $("#<%= txtDate.ClientID %>")
          .datepicker()
          .on('changeDate', function(ev) {
                alert(":P :P");
                if (ev.date.valueOf() < date - start - display.valueOf())                      {alert(":P"); }
  });
</script>

如果您的JS包含在该页面上,那就是这样。另一种方法是将ClientIDMode设置为 static