0

我正在尝试让一个按钮更改我的日期框表单的文本或值。如果我调用 $("element").val("value-date") 值将会改变,但包含日期框的表单不会将其文本更改为值日期。我已经刷新了日期框,但没有奏效。这是我的代码

HTML:

<div class='container center' style='margin-top:15%; margin-bottom:15%; width:90%; margin-right:auto; margin-left:auto;'>
        <input placeholder="Enter Date" id='comp_date' type='date' data-role='datebox' name='date' data-options='{"mode": "callbox","useTodayButton":true}'/>
        <a data-role="button" id='pick_today' href="#"  data-theme='e' class="reg_button" style="padding:15px; color:black; margin-bottom:50px;">Now</a>
</div>

Javascript:

     $("#pick_today").live("vclick",function()
     {
          var today = new Date();
          var month = today.getMonth();
          var day = today.getDate();
          var year = today.getFullYear();
          var todayText = year + "-" + month + "-" day;
          $("#comp_date").val(todayText);
          $("#comp_date").datebox("refresh");
     }
4

2 回答 2

2

在这个问题上花了很长时间,终于解决了你的问题。

您的代码问题是:

  1. "+"此行缺少符号

    var todayText = year + "-" + month + "-" + day;

  2. 在输入标签上,模式calbox不是callbox

    data-options='{"mode": "calbox"

  3. 月份计算应该是+1。自一月开始Zero (0)

    var month = today.getMonth()+1;

查询:

$("#pick_today").live("click", function() {
    var today = new Date();
    var month = today.getMonth()+1;
    var day = today.getDate();
    var year = today.getFullYear();
    var todayText = year + "-" + month + "-" + day;
    $("#comp_date").val(todayText);
});

HTML:

<div class='container center' style='margin-top:15%; margin-bottom:15%; width:90%; margin-right:auto; margin-left:auto;'>
    <input placeholder="Enter Date" id='comp_date' type='date' data-role='datebox' name='date' data-options='{"mode": "calbox","useTodayButton":true}'/>
    <a data-role="button" id='pick_today' href="#"  data-theme='e' class="reg_button" style="padding:15px; color:black; margin-bottom:50px;">Now</a>
</div>​

使用的 CSS 和 JS:

http://jquerymobile.com/demos/1.0rc3/jquery.mobile-1.0rc3.min.css
http://jquerymobile.com/demos/1.0rc3/jquery.mobile-1.0rc3.min.js
http://dev.jtsage.com/cdn/datebox/latest/jquery.mobile.datebox.min.css
http://dev.jtsage.com/cdn/datebox/latest/jquery.mobile.datebox.min.js

参考我的LIVE DEMO

于 2012-10-04T21:41:17.770 回答
1

您缺少 id 选择器和绑定 'click' 函数的 'vclick' inseatd 并且该函数未正确关闭

演示:http: //jsfiddle.net/Simplybj/n9HLU/4/

正确的代码在这里:

$("#pick_today").live("click", function() {
    var today = new Date();
    var month = today.getMonth();
    var day = today.getDate();
    var year = today.getFullYear();
    var todayText = year + "-" + month + "-" + day;
    $("#comp_date").val(todayText);
});
于 2012-10-04T16:27:58.383 回答