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. 入力タグでは、モードcalboxcallbox

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

  3. 月の計算は+1。1月からZero (0)

    var month = today.getMonth()+1;

JQuery:

$("#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

私のライブデモを参照してください

于 2012-10-04T21:41:17.770 に答える
1

「クリック」関数の ID セレクターとバインディング「vclick」が欠落しており、関数が適切に閉じられていません

デモ: 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 に答える