【问题标题】:jQuery: datepicker, alert the dayname of the selectedjQuery: datepicker, 提醒选中的日期名称
【发布时间】:2011-06-25 21:49:30
【问题描述】:

如何提醒选定的日期名称?示例“星期一”。

所以当你选择 2011 年 6 月 7 日时,它会提醒“星期二”

<script>
$(function() {
    $( "#date" ).datepicker({ 
     dateFormat: 'dd/mm/yy',
     onSelect: function(dateText, inst) {
    // how can i grab the day name of the day, example "Monday" and alert it out?
    // alert( ? );
     }
    });
});
</script>

【问题讨论】:

    标签: javascript jquery jquery-ui datepicker jquery-ui-datepicker


    【解决方案1】:

    jQueryUI 的 Datepicker 带有一个 formatDate 函数,可以为您完成这项工作。如果您使用的是本地化版本,它也会以该语言显示日期。

    onSelect: function(dateText, inst) {
      var date = $(this).datepicker('getDate');
      alert($.datepicker.formatDate('DD', date));
    }
    

    有关 Dapicker 实用程序功能本地化的更多信息,请查看http://jqueryui.com/demos/datepicker/

    【讨论】:

    • 注意:date 必须是一个 JavaScript Date 对象,由 datepicker 的 getDate() 提供。不过,如果您正在格式化不是来自 datepicker 的日期,则可能不是很清楚。如果你只传递字符串 - 你会得到像b.getMonth is not a function 等有趣的错误......
    【解决方案2】:
    <script>
    $(function() {
        $( "#date" ).datepicker({ 
             dateFormat: 'dd/mm/yy',
             onSelect: function(dateText, inst) {
             var weekday=new Array(7);
             weekday[0]="Sunday";
             weekday[1]="Monday";
             weekday[2]="Tuesday";
             weekday[3]="Wednesday";
             weekday[4]="Thursday";
             weekday[5]="Friday";
             weekday[6]="Saturday";
    
             alert(weekday[inst.getDate().getDay()];
         }
        });
    });
    </script>
    

    【讨论】:

    • inst.getDate() 不是函数
    【解决方案3】:

    如果您不介意在输入框中显示日期的名称,这将起作用 如果你不喜欢它,你可以使用第二个隐藏输入 (http://jqueryui.com/demos/datepicker/#alt-field)

    $(function() {
        $( "#date" ).datepicker({
         dateFormat: 'DD, d MM, yy',
         onSelect: function(dateText, inst) {
             var stop = dateText.indexOf(',');
            alert( dateText.substring(0, stop));
         }
        });
    });
    

    http://jsfiddle.net/aa74R/的示例

    【讨论】:

      【解决方案4】:

      您可以像这样解析日期 (mm/dd/yyyy):

      new Date(Date.parse("06/07/2011"))
      

      并使用.getDay 函数。你可以这样做:

      // parse data
      var regexp = /(\d{2})\/(\d{2})\/(\d{2})/.exec("07/06/11");
      
      //form date
      var date = new Date(Date.parse(regexp[2] + "/" + regexp[1] + "/20" + regexp[3]));
      
      alert(date.getDay()); // 2 -> Tuesday (starts at 0 = Sunday)
      

      【讨论】:

        【解决方案5】:

        使用内置函数

        $("#datepicker" ).datepicker({  onSelect: function(dateText, inst) {
        
        alert($.datepicker._defaults.dayNames[new Date(dateText).getDay()]);
        
        }});
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多