【问题标题】:Jquery Datepick Range & invalid Date validation in asp.netJquery Datepick Range & asp.net 中的无效日期验证
【发布时间】:2012-02-03 15:50:06
【问题描述】:

我正在使用 datepicker 在 asp.net 的 datalist 控件中选择日期。场景是用户选择2个文本框的日期,然后单击导出到excel按钮,然后系统生成带有给定日期内数据的excel文件。问题是我想限制用户选择之前的日期点击导出按钮,选择的第二个日期应该大于使用 Jquery 选择的第一个日期,下面是代码:

<asp:Button runat="server" ID="btnExportbwDates" 
    Text="Export between Dates" onclick="btnExportbwDates_Click" />
    <asp:TextBox runat="server" ID="txtDateRangeOne" CssClass="txtDateRangeOne"></asp:TextBox>
    <asp:TextBox runat="server" ID="txtDateRangeTwo" CssClass="txtDateRangeTwo"></asp:TextBox>

     <script type="text/javascript">
    $(document).ready(function () {

        var pickerOpts = {
            dateFormat: "dd/mm/yy"

        };

        $(".txtDateRangeOne").datepicker(pickerOpts);
        $(".txtDateRangeTwo").datepicker(pickerOpts);

    });
</script>

【问题讨论】:

    标签: jquery asp.net jquery-validate datepicker


    【解决方案1】:
        $(document).ready(function () {
                var dates = $(".txtDateRangeOne, .txtDateRangeTwo").datepicker({
                    showOtherMonths: true,
                    selectOtherMonths: true,
                    showOn: "both",
                    showAnim: "slide",
                    showButtonPanel: true,
                    changeMonth: true,
                    changeYear: true,
                    numberOfMonths: 2,
                    buttonImageOnly: true,
                    onSelect: function (selectedDate) {
                        var option = this.className.indexOf("txtDateRangeOne") >= 0 ? "minDate" : "maxDate";
                        instance = $(this).data("datepicker"),
                            date = $.datepicker.parseDate(
                                instance.settings.dateFormat ||
                                $.datepicker._defaults.dateFormat,
                                selectedDate, instance.settings);
                        dates.not(this).datepicker("option", option, date);
                    }
                });
    });
    

    【讨论】:

      【解决方案2】:

      试试这个。

      $(document).ready(function () {
          $(".txtDateRangeOne").datepicker({
              dateFormat: "dd/mm/yy"
              onSelect: function(date){
                   //Once you select first date set this date as  the minDate 
                   //of second datepicker 
                   $(".txtDateRangeTwo" )
                   .datepicker({ minDate: new Date(date) });
              }  
          });
          $(".txtDateRangeTwo").datepicker({ dateFormat: "dd/mm/yy" });
      
          $('#btnExportbwDates').click(function(){
              var startDate = $('.txtDateRangeOne').datepicker("getDate");
              var endDate = $('.txtDateRangeTwo').datepicker("getDate");
              if(!startDate){
                  alert('Select start date');
                  return false;
              }
              if(!endDate){
                  alert('Select end date');
                  return false;
              }
              if(startDate > endDate){
                  alert('Select valid date range');
                  return false;
              }
      
              return true;
          });
      });
      

      【讨论】:

      • 如何显示范围和空文本框的验证消息?
      猜你喜欢
      • 1970-01-01
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多