3

我正在尝试在日期选择器上单击日期时提交表单。我已成功提交,但无法将所选日期传递给表单的隐藏字段。因此,表单提交,但日期未发送(

我相信它一定很简单,但我对 js 没有经验,所以感谢任何帮助。

这是代码:

<script type="text/javascript">
  $(document).ready($(function(){

    var $hiddenInput = $('#hiddenFieldID');

    $('#datepicker').datepicker({ inline: true })
     .bind('click', function(){ $('#myFormID').submit();})
     .bind('hiddenFieldID',function(e, hiddenFieldID, $td) { $hiddenInput.val(hiddenFieldID.asString()); });
      }));
 </script>

<div id="datepicker"></div>

<form id="myFormID" action="index.php" method="GET">
<input type="hidden" name="date" id="hiddenFieldID" value="">
</form>
4

2 回答 2

13

datepicker实际上有一些选项可以帮助您解决这个问题。尝试以下操作:

$('#datepicker').datepicker({
    inline : true,
    altField : '#hiddenFieldID',
    onSelect : function(){
        $('#myFormID').submit();   
    }
});

altField:一个输入元素,将使用从日期选择器中选择的日期进行更新。使用 altFormat 选项更改此字段中日期的格式。如果没有备用字段,请留空。

onSelect:选择日期选择器时调用。该函数接收选定的日期作为文本和 datepicker 实例作为参数。这指的是关联的输入字段。

访问完整的 API 以获取与以下相关的更多选项和事件:http datepicker: //api.jqueryui.com/datepicker/

于 2013-02-21T15:39:25.640 回答
1

我为同样的问题而战。就我而言,我的开始和结束都在一张桌子内。将表格移到表格外解决了这个问题。

基因

于 2014-02-05T00:24:23.190 回答