jquery:通过图像显示/隐藏日期选择器?

时间:2009-06-02 14:35:00

标签: jquery datepicker

我想使用日历图像来显示/隐藏jquery datepicker。基于文档看起来我需要设置buttonImage和buttonImageOnly,我有。日期选择器正在工作但它始终可见。这是我的代码:

<script type="text/javascript">
$(document).ready(function(){
$("#datepicker").datepicker({ 
    altField: '#from', 
    altFormat: 'yymmdd', 
    buttonImage: 'datepicker.png', 
    buttonImageOnly: true, 
    defaultDate: <?=getDaysFromToday($_GET['from'])?>, 
    showOn: 'focus' 
    });
});

$('#datepicker').datepicker({
    onSelect: function(dateText, inst) {
    $("#myform").submit(); 
    }
});
 </script>

此外,我正在尝试让它在您选择日期时提交表单,我似乎也无法使其工作。

我做错了吗?

谢谢!

2 个答案:

答案 0 :(得分:9)

替换

showOn: 'focus'

showOn: 'button'

这将使日期选择器仅在单击按钮时显示,而不是在文本字段获得焦点时显示。

无法告诉您为何表单提交不起作用。您是否将任何提交事件绑定到可能返回false的表单?

由于this会返回事件处理程序中的input元素,也许您可​​以尝试使用提交:

this.form.submit();

评论后修改:看看this example,该按钮会自动添加。

我刚刚意识到你有两次单独调用datepicker。将两者合二为一可能有助于解决您的事件:

$("#datepicker").datepicker({ 
    altField: '#from', 
    altFormat: 'yymmdd', 
    buttonImage: 'datepicker.png', 
    buttonImageOnly: true, 
    defaultDate: <?=getDaysFromToday($_GET['from'])?>, 
    showOn: 'focus'.
    onSelect: function(dateText, inst) {
        $("#myform").submit(); 
    }
});

答案 1 :(得分:1)

对于那些希望将图标放在输入栏旁边不太靠近的人:

http://forum.jquery.com/topic/altering-position-of-datepicker-icon#14737000001522067

.ui-datepicker-trigger {
margin-left : 5px;
vertical-align : top;
}