1

我有一个日历,我只显示某些日期可用,其余日期禁用。我得到了我所有的日期并制作了我的日历,它显示没有问题

<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)。我找到了一堆帖子,但似乎没有一个有效。如果我取消注释该“警报” ,那么我会看到“点击”消息,但我发现提交表单的其他方法或 2 或 3 都没有$("#FormId").click(); (yes the form has a id="FormId" in it)$(this).parent('form').submit();

我点击到那里,如果未注释,警报将触发,为什么表单不会提交?

(顺便说一句 - 我没有发布 getAllowed 函数,因为我认为它不相关,但如果需要我会发布)

TIA

4

1 回答 1

2

尝试给表单一个 id,然后通过 jquery id 选择器调用提交:

<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);
于 2012-04-12T23:23:34.680 回答