【问题标题】:jquery datepicker code not working (set specific date as default)jquery datepicker代码不起作用(将特定日期设置为默认值)
【发布时间】:2011-05-07 08:32:19
【问题描述】:

我正在尝试将日期设置为页面加载时的特定日期,因此我正在尝试以下代码:

    <script type="text/javascript">


    $(document).ready(function() { 

  var queryDate = new Date();
queryDate.setFullYear(2009,11,01);
$('#date').datepicker({defaultDate: queryDate});


$("input[type='submit']").click(function(e) {
            e.preventDefault();
            $.post("s.php", $("form").serializeArray(), function(message) {
                window.location="v.php" 
            });
        });
    });

</script>

//The form part where is displays the datepicker:

<form action="#" method="POST">
<div data-role="fieldcontain">
<label for="date">Date:</label>
<input type="date" name="date" id="date" value=""  />
<input type="submit" value="submit" />
 </div>     
</form>

问题是什么都没有改变......默认仍然是当前日期:o/

请问有什么想法吗?

更新:试过这个代码:

var queryDate = new Date(2009,11,01);
$('#date').datepicker({defaultDate: queryDate});
$('#date').val(queryDate);

日期出现在输入框中,但日历不在正确的月份或日期中......继续前进但仍然无法正常工作。

【问题讨论】:

    标签: javascript jquery ajax jquery-ui-datepicker


    【解决方案1】:

    我不确定这里建议的答案是否有效。正如我测试过的那样,它显示在正确的月份和年份,但只是没有突出显示日期。这可能是因为日期格式。

    尝试添加此代码以在您的日期设置默认值。

    $('#date').val(queryDate);
    

    然后您可能会看到格式与日期选择器中的日期不同。如果您设法使用日期选择器设置正确的格式,您就会得到想要的东西。

    【讨论】:

    • 我试过这个:$('#date').val(queryDate); var queryDate = new Date(); queryDate.setFullYear(2009,11,01); $('#date').datepicker({defaultDate: queryDate});但我在日历上看不到任何变化:o/
    【解决方案2】:

    嗯,如果你尝试一下会怎样

    新日期(年、月、日、时、分、秒、毫秒)

    var queryDate = new Date();
    queryDate.setFullYear(2009,11,01);
    $('#date').datepicker({defaultDate: queryDate});
    

    然后日期选择器知道它是一个日期对象以及如何处理它。


    编辑 好的 - 我所做的只是完全按照您在此处获得的代码复制代码,发布相同的建议 - 以及您编辑的代码。添加了标签 - 包括 jquery 和 jquery ui.. 我认为没有问题 - 默认日期是 2009 年。

    </head>
    <script src="jquery.min.js" type="text/javascript"></script>
    <script src="jquery-ui.min.js" type="text/javascript"></script>
    
    <script type="text/javascript">
    $(document).ready(function() { 
    var queryDate = new Date();
    queryDate.setFullYear(2009,11,01);
    $('#date').datepicker({defaultDate: queryDate});
    
    $("input[type='submit']").click(function(e) {
            e.preventDefault();
            $.post("s.php", $("form").serializeArray(), function(message) {
                window.location="v.php" 
            });
          });
       });
      </script>
    
    </head>
    
    <body>
    //The form part where is displays the datepicker:
    
    <form action="#" method="POST">
    <div data-role="fieldcontain">
    <label for="date">Date:</label>
    <input type="date" name="date" id="date" value=""  />
    <input type="submit" value="submit" />
    
    </div>     
    </form>
    
    </body>
    

    结果(未附加样式表)

    工作示例 - 告诉我出了什么问题

    http://jsfiddle.net/ppumkin/nptgn/

    【讨论】:

    • 答案已更新——我没有更改您的任何代码。您确定您没有在某处对日历进行双重初始化吗?
    • 看但什么也看不到 :o/
    • jsfiddle.net/ppumkin/nptgn 下次请在提问之前这样做——这样可以避免混淆,对! :D
    • 您的代码没有问题,它确实有效。感谢您的宝贵时间
    【解决方案3】:

    试试这个

      var queryDate = new Date(2009,11,01);<br/>
      $('#date').datepicker({defaultDate: queryDate});
    

    【讨论】:

      【解决方案4】:

      我遇到了类似的问题,我是这样解决的

      $('.datepicker').datepicker({dateFormat: "yy-mm-dd", defaultDate: "+3m"} );
      

      【讨论】:

        【解决方案5】:

        试试这个

        $('#mydate').val("2009-11-01");

        【讨论】:

          猜你喜欢
          • 2019-12-14
          • 1970-01-01
          • 1970-01-01
          • 2013-08-03
          • 2012-10-29
          • 1970-01-01
          • 2013-01-12
          • 2020-06-05
          • 1970-01-01
          相关资源
          最近更新 更多