1

以下のコードを変更して、Enter キーも押すと、jQuery 日付ピッカーが反応し、変数 (datePickerValue) を自動的に強調表示される日付 (jQuery を開いたときの現在の日付) に設定する方法を教えてください。日付ピッカーを開いてエンターキーをすばやく押すだけで、現在の日付を取得して変数に保存できるようにしたいと思います。

<html>

<head>

<!-- LOAD JQUERY LIBRARY: -->  
    <link   href="jq/jquery-ui.css"         type="text/css" rel="stylesheet" />
    <script src="jq/jquery.min.js"          type="text/javascript"> </script>
    <script src="jq/jquery-ui.min.js"       type="text/javascript"> </script>

<script type="text/javascript">

window.onload = function() {

                $('#dd').dialog({ 
                                    autoOpen:   true,
                                    modal:      true,
                                    overlay:    { opacity: 0.5, background: 'black'},
                                    title:      'Select the date:',
                                    height:     215, 
                                    width:      234,
                                    draggable:  false, 
                                    resizable:  false

                });//end of dialog_atip


var datePickerValue = ""

$("#d1").show().unbind().datepicker().datepicker("show").change(function ()  {  
   //$('#d1').datepicker({onSelect:datePickerValue = $(this).val() }).hide();
   $('#d1').datepicker({onSelect:datePickerValue = $(this).val() })
   alert("You picked: " + datePickerValue);
   $("#dd").dialog("close")
});



}//end of window.onload


</script>


</head>

<body>
<div style="display:none" id="dd">
<div id="d1">
</div>
</body>

</html>
4

1 に答える 1

1

アクティブな要素にはクラスがある.ui-state-activeため、次のように、Enter キーが押されたときにその要素のクリックをシミュレートできます。

$(document).on('keypress', function (e){
    if(e.which == 13)
    {
        $('.ui-state-active').click();
    }
});

ここにフィドルがあります。ドキュメントが機能するためには、ドキュメントにフォーカスが置かれている必要があります (出力の任意の場所をクリックしてから、Enter キーを押します)。

于 2012-08-29T19:19:29.387 に答える