如何在datepicker更改日期时使用ajax发布?

时间:2013-02-21 05:51:10

标签: ajax jquery datepicker

下午好。

使用datepicker ui输入更改的值。

当输入中的值发生变化时,我想使用ajax post。

为此我使用脚本:

<input type="text" name="date" class="datepicker" id="datepicker">

$(".datepicker").datepicker({changeYear: true});

$(".datepicker").on("change",function(){
var date=$(this).val();
$.post("test.php", {
date:date
},
function(data){$('#testdiv').html('');$('#testdiv').html(data);
});
});

但是ajax post查询是用旧日期执行的。

Datepicker在输入中没有时间更改值。

告诉我如何在datepicker更改字段中的日期后进行查询?

我需要:

1)datepicker更改日期;

2)查询应该与新日期一起发送。

4 个答案:

答案 0 :(得分:11)

您可以在datepicker事件上触发ajax帖子:

$("#datepicker").datepicker({

    onSelect: function(date, instance) {

        $.ajax
        ({
              type: "Post",
              url: "www.example.com",
              data: "date="+date,
              success: function(result)
              {
                  //do something
              }
         });  
     }
});

希望这有帮助 - @Codebrain

答案 1 :(得分:2)

也许您应该考虑使用datepicker的onSelect事件(请参阅here)。

使用该事件,新选择的日期(作为字符串)将作为第一个参数传递。

答案 2 :(得分:1)

而不是on(change使用onSelect为datepicker,而日期更改时会触发。

$(function(){
    $('.datepicker').datepicker({
        onSelect:function(dateText,instance){
            alert(dateText); //Latest selected date will give the alert.
            $.post("test.php", {
            date:dateText // now you will get the selected date to `date` in your post
            },
            function(data){$('#testdiv').html('');$('#testdiv').html(data);
            });
        }
    });
});

希望它有所帮助。

答案 3 :(得分:1)

您可以使用changeDate

$('.datepicker').datepicker()
 .on('changeDate', function(e) {
    // `e` here contains the extra attributes
});

您可以在此处查看:http://bootstrap-datepicker.readthedocs.io/en/latest/events.html