jQuery datepicker如何在加载时执行函数

时间:2012-11-01 15:36:22

标签: jquery jquery-ui jquery-ui-datepicker

我有以下脚本可以正常工作:

$(".txtDate").datepicker( {
    changeMonth: true,
    changeYear: true,
    yearRange: "+0:+1",
    showButtonPanel: false,
    dateFormat: "dd/mm/yy",
    onSelect: function(dateText, obj){
        test_function( dateText );
    }
} );

$('.txtDate').datepicker( "setDate" , new Date() );

function test_function( strDate ) {
    alert( strDate );
}

datepicker启用了HTML控件.txtDate,默认情况下,当网页加载时,它会在.txtDate显示今天的日期,如果我选择其他日期,它也会显示警告datepicker

我的问题是,如何在页面加载时让datepicker执行test_function,以便在页面加载时显示datepicker设置的警报中的默认日期?

警告test_function只是一个测试,可以看到datepicker执行其他功能的时间,最终结果将会复杂得多。

此外,我有一个基于小部件的网站,它允许人们一次在页面上添加许多相同的小部件,这意味着我将有许多.txtDate控件。所以我不能只获得.txtDate的值,我需要根据$(this)找到最接近的值。

2 个答案:

答案 0 :(得分:1)

您尝试在页面加载中调用此test_function()函数,因此您可以在页面加载中获取datepicker默认值,例如,

<script type="text/javascript" language="javascript">
$(function(){
   $('.txtDate').datepicker( "setDate" , new Date() );     
   test_function();
});

function test_function() {
   alert( $("#txtDate").val() );
 }
</script>

您不需要将任何参数值传递给此js函数。

答案 1 :(得分:0)

试试这个

 function addLoadEvent(func) {
       var oldonload = window.onload;
       if (typeof window.onload != 'function') {
         window.onload = func;
       } else {
         window.onload = function() {
           if (oldonload) {
             oldonload();
           }
           func();
         }
       }
       }

    addLoadEvent(incompleteForm);

    function incompleteForm()
    {
       alert( $("#txtDate").val() );
    }