0

この質問は次の質問に関連していますが、これとは異なります: How can I add Seconds to my "timepicker"?

テキスト入力コントロールの 2 つのペア (BeginDate/BeginTime ペアと EndDate/EndTime ペア) に対して、実質的に同一の jQuery コードを使用しています。

最初のペアは、次のコードで正常に機能します。

var beginDatepickerOpts = {
  changeMonth: true,
  changeYear: true,
  showWeek: true,
  onClose: function() {
                    if (($("#BeginTime").val()).length == 0) {
                        $("#BeginTime").timeEntry("setTime", new Date(0, 0, 0, 0, 0, 0));
                    }
                    $("#BeginTime").focus();
                }
        }

$("#BeginDate").datepicker(beginDatepickerOpts);

...日付を選択すると、「時間」入力に「00:00」が入力されます(「00:00:00」にしたいのですが、それは明らかに異なる色合いの馬であり、参照されている質問で説明されていますその上)。

ただし、入力の 2 番目のペアのこのコード:

   var endDatepickerOpts = {
     changeMonth: true,
     changeYear: true,
     showWeek: true,
     onClose: function() {
                if (($("#EndTime").val()).length == 0) {
                    $("#EndTime").timeEntry("setTime", new Date(0, 0, 0, 23, 59, 59));
                }
                $("#EndTime").focus();
            }
    }

    $("#EndDate").datepicker(endDatepickerOpts);

... -- すべての実用的な目的で同じように見えますが -- 表面的に終末論的な「EndTime」入力テキストに何も入力できません。

なぜそうなるのでしょうか?Date val は正しい、正しい (0、0、0、23、59、59)? 2 つのペアの剃刀 html は、要素の名前 (BeginTime ではなく EndTime) を除いて同一です。

4

1 に答える 1

1

$.timeEntry()フィールドの両方の発生を次のように初期化してください。

// Start Date / Time
var beginDatepickerOpts = {
    ...
}
$('#BeginTime').timeEntry(); // Initialize the BeginTime TimeEntry Field
$("#BeginDate").datepicker(beginDatepickerOpts);

// End Date / Time
var endDatepickerOpts = {
    ...
}
$('#EndTime').timeEntry(); // Initialize the EndTime TimeEntry Field
$("#EndDate").datepicker(endDatepickerOpts);

JSFiddle の例はこちらです。

于 2013-06-07T19:37:01.647 に答える