在JQuery UI对话框中输入密钥行为

时间:2012-08-29 18:52:06

标签: javascript jquery html jquery-ui javascript-framework

如何在下面修改代码,以便当按下回车键时,jQuery日期选择器将作出反应并将变量(datePickerValue)设置为自动突出显示的日期,即jQuery打开时的当前日期。我希望能够打开日期选择器,快速点击回车键,它只需要当天并将其存储到var中。

<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>

1 个答案:

答案 0 :(得分:1)

活动元素具有类.ui-state-active,因此您可以在按下回车键时模拟该元素的单击,如下所示:

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

这是一个fiddle。焦点必须放在文档上才能在那里工作(单击输出上的任意位置,然后按回车键)。