0

テキスト フィールド (時間に使用される) と日付ピッカー フィールドの 2 つのフィールドで、非表示フィールド #start を更新しています。ただし、datepicker を使用して日付を選択し、時間フィールドに何もない場合、非表示フィールドは更新されません。また、時間フィールドが入力され、日付ピッカーで日付を選択すると、日付は最後に選択された日付ではなく、以前の選択で更新されます (おそらく入力値が更新されるため)。この関数を正しく記述するにはどうすればよいですか? ありがとうございました!

$("#datepicker").blur(function () {
        var date = $(this).val();
        var time = $('#time').val();
        $("#start").val(date + time.toString(' HH:mm').toString());
});
4

2 に答える 2

3

.blur() を使用しないでください。datepicker のonSelectイベントを使用してください。

jsFiddle の例

jQuery

$("#datepicker").datepicker({
    onSelect: function(dateText, inst) {
        var date = $(this).val();
        var time = $('#time').val();
        $("#start").val(date + time.toString(' HH:mm').toString());
    }
});​
于 2012-06-26T21:00:24.703 に答える
1

「onSelect」イベント ハンドラと「blur」イベント ハンドラを追加する必要があります。jsfiddle の例を参照してください

$("#datepicker").datepicker({onSelect: populateHidden});
$("#datepicker").blur(populateHidden);


function populateHidden()
{
        var date = $("#datepicker").val();
        var time = $('#time').val();
        $("#start").val(date + ' ' + time);
}
于 2012-06-26T21:04:40.350 に答える