Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery类选择器函数赢得';我不接受日期作为论据_Javascript_Jquery_Date_Datepicker - Fatal编程技术网

Javascript jquery类选择器函数赢得';我不接受日期作为论据

Javascript jquery类选择器函数赢得';我不接受日期作为论据,javascript,jquery,date,datepicker,Javascript,Jquery,Date,Datepicker,我正在使用一个函数,它成功地计算并(应该成功地)返回星期二的日期,如果今天是星期二,如果是星期三,则返回星期三,如果是今天的某一天,则应在下星期二返回。此函数用于将此日期放入日期选择器输入的默认值中。我已经验证了该函数确实计算了正确的使用日期。但是,将返回值传递给选择器的参数时,输入对象中不显示日期 我尝试将字符串和数字输入选择器函数的第二个参数,而不是setDate(),但它仍然没有显示任何内容 关于导致这个问题的历史,你可以参考这个问题 我的头衔 $(文档).ready(函数(){ $(“

我正在使用一个函数,它成功地计算并(应该成功地)返回星期二的日期,如果今天是星期二,如果是星期三,则返回星期三,如果是今天的某一天,则应在下星期二返回。此函数用于将此日期放入日期选择器输入的默认值中。我已经验证了该函数确实计算了正确的使用日期。但是,将返回值传递给选择器的参数时,输入对象中不显示日期

我尝试将字符串和数字输入选择器函数的第二个参数,而不是setDate(),但它仍然没有显示任何内容

关于导致这个问题的历史,你可以参考这个问题


我的头衔
$(文档).ready(函数(){
$(“.datepicker”).datepicker({
minDate:'0',
变化月:对,
变化年:是的,
展览日前:
函数(dt)
{
返回[dt.getDay()==2 | | dt.getDay()==3,“];
}});
});
//函数moment().isoWeekday来自上述Momentjs脚本源。
//自动将日期设置为下一个星期二或星期三(如果不是这两天中的某一天)。
函数setDate(){
var today=moment().isoWeekday();//或just=new Date().getDay();
var时间戳;

如果(今天我相信这正是您需要的。请记住将函数调用保持在同一个文档加载函数中,即$(document.ready)


$(文档).ready(函数(){
$(“.datepicker”).datepicker({
minDate:'0',
变化月:对,
变化年:是的,
展示日前:功能(dt)
{
返回[dt.getDay()==2 | | dt.getDay()==3,“];
}
});
$('input.timepicker').timepicker({
时间格式:“h:mm p”,
间隔时间:90,,
minTime:'9',
maxTime:“上午10:30”,
默认时间:“9”,
开始时间:“9:00”,
动态:错误,
下拉列表:正确,
滚动条:false
});
函数setDate(){
var today=moment().isoWeekday();//或just=new Date().getDay();
var时间戳;

如果(今天)不使用document.write,如果在页面加载完成后调用它,它将在加载之前擦除整个页面writing@PatrickEvans注意到。但是这个问题仍然存在,我只是将其用作调试设备。不起作用,因为您在就绪回调之外调用它,当您进行该调用时,元素还不存在
<!DOCTYPE html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>My Title</title>
    <!-- for datepicker -->
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script>
    <!-- for timepicker -->
    <script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
    <!-- for momentjs -->    
    <script src="//momentjs.com/downloads/moment.min.js"/></script>
    <script src="//momentjs.com/downloads/moment-with-locales.min.js"></script>

    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css" />
    <script type="text/javascript">   
        $(document).ready(function(){
            $( ".datepicker" ).datepicker({
                minDate:'0',
                changeMonth:true,
                changeYear:true,
            beforeShowDay:
                  function(dt)
                  {
                      return [dt.getDay() === 2 || dt.getDay() === 3, ""];
                  }});
            });

        // function moment().isoWeekday is from Momentjs script source above.
        // to automatically set the date to the next tuesday or wednesday if not already one of those days.
        function setDate() {
            var today = moment().isoWeekday(); //or just = new Date().getDay();
            var timestamp;
            if (today <= 2) {
                timestamp = moment().isoWeekday(2);
            } else if (today === 3) {
                timestamp = moment().isoWeekday(3);
            } else {
                timestamp = moment().add(1, 'weeks').isoWeekday(2);
            }
            document.write(new Date(timestamp));
            return new Date(timestamp);
        }
        // Problem occurs here: it's like setDate() wont' give datepicker something it can display.

        $('.datepicker').datepicker("setDate", setDate());            


        $(document).ready(function(){
            $('input.timepicker').timepicker({
                timeFormat: 'h:mm p',
                interval: 90,
                minTime: '9',
                maxTime: '10:30am',
                defaultTime: '9',
                startTime: '9:00',
                dynamic: false,
                dropdown: true,
                scrollbar: false                
            });
        });
    </script>
</head>
<body>

<form method="POST">
  <div style='margin:0 auto; text-align:center;'>
    <label>Appointment Date: </label>
    <input type="hidden" name="action" value="list_appointments" />
    <input type="text" id="datepicker" name="date" class="datepicker" />
    <input type="submit" value="Refresh List" name="Update" />
    <br />
  </div>
</form>
<body>
    <script type="text/javascript">   
        $(document).ready(function() {
            $( ".datepicker" ).datepicker({
                minDate:'0',
                changeMonth:true,
                changeYear:true,
                beforeShowDay: function(dt)
                  {
                      return [dt.getDay() === 2 || dt.getDay() === 3, ""];
                  }
            });

            $('input.timepicker').timepicker({
                timeFormat: 'h:mm p',
                interval: 90,
                minTime: '9',
                maxTime: '10:30am',
                defaultTime: '9',
                startTime: '9:00',
                dynamic: false,
                dropdown: true,
                scrollbar: false                
            });

            function setDate() {
                var today = moment().isoWeekday(); //or just = new Date().getDay();
                var timestamp;
                if (today <= 2) {
                    timestamp = moment().isoWeekday(2);
                } else if (today === 3) {
                    timestamp = moment().isoWeekday(3);
                } else {
                    timestamp = moment().add(1, 'weeks').isoWeekday(2);
                }
                return new Date(timestamp);
            }

            $('.datepicker').datepicker("setDate", setDate());          
        });

        // function moment().isoWeekday is from Momentjs script source above.
        // to automatically set the date to the next tuesday or wednesday if not already one of those days.

        // Problem occurs here: it's like setDate() wont' give datepicker something it can display.     
    </script>