2012-04-12 81 views
1

我有一個日曆,只顯示某些日期,其餘的日曆已禁用。我讓我所有的日期和彌補我的日曆,它顯示沒有問題使用JQuery選擇帖子窗體Datepick

<script type="text/javascript"> 
    $(function() { 
     $.post('/jreqlib', 
      { Action: 'GetDates', 
      }, function(data) { 

       var myNewDates = new Array; 
       for (var x = 0; x < data['validPubDates'].length; x++) { 
        myNewDates.push(data['validPubDates'][x]); 
       } 
       var myValidDates = new Array; 
       for (var x = 0; x<data['validPubDates'].length; x++) { 
        var theDate = data['validPubDates'][x]; 
        myValidDates.push(theDate); 
       }    
       $('#inlineDatepicker').datepick({ 
        multiSelect: 999, 
        minDate : '-14d', 
        maxDate : '+2y',       
        onSelect : function (dateText, inst) { 
         //alert("Clicked'); 
         //$("#FormId").click(); 
         $(this).parent('form').submit(); 
        }, 
        onDate : getAllowed(myValidDates), 
       }).datepick('setDate',myNewDates); 
      }, 
     'json');    
    }); 
</script> 

的問題是我想提交表單(不是通過AJAX)被點擊的日期時。我發現了一堆帖子,但沒有一個似乎起作用。如果我對「alert」取消註釋,那麼我會看到「已點擊」消息,但既沒有$("#FormId").click(); (yes the form has a id="FormId" in it)$(this).parent('form').submit();,也沒有找到2或3個其他方式來執行表單提交。

我到達那裏的點擊,如果未評論,警報將觸發,表格怎麼不會提交?

(順便說一句 - 我沒有貼getAllowed功能我不認爲它相關,但我如果需要的話會)

TIA

回答

2

先給形式的ID,然後調用通過提交jQuery的選擇器:

<form id="myFormID"> 
... 
$('#inlineDatepicker').datepick({ 
    multiSelect: 999, 
    minDate : '-14d', 
    maxDate : '+2y',       
    onSelect : function (dateText, inst) { 
     $('#myFormID').submit(); // <-- SUBMIT LIKE THIS 
    }, 
    onDate : getAllowed(myValidDates), 
}).datepick('setDate',myNewDates); 
+0

我可以發誓我綁.submit,它沒有工作,但它這次!謝謝!! – Analog 2012-04-12 23:57:01

+0

還有一個更通用的解決方案,不需要表單ID http://stackoverflow.com/questions/35041664/most-reusable-code-for-submit-on-select-with-jquery-datepicker – DJDave 2016-01-28 08:49:15