使用jQuery datepicker的Cakephp JS助手

时间:2013-09-06 20:36:25

标签: javascript jquery ajax cakephp datepicker

我使用Cakephp 2.3.8从选择框切换到jQuery datepicker,我想知道是否有一种方法可以在选择日期时使用JS助手触发POST请求。我发送POST请求以查找该特定日期的值。我知道它可以用jQuery / AJAX完成,但如果我可以使用JS助手,我更喜欢,因为我已经从使用选择框时实现了它。

例如,单击输入时将触发请求,但实际选择日期时不会触发

$this->Js->get('#arrival_date')->event('click', //also tried change
    $this->Js->request(array(
        'controller'=>'registration',
        'action'=>'room_number'
        ), array(
        'update'=>'#RegistrationRoomId',
        'async' => true,
        'method' => 'post',
        'dataExpression'=>true,
        'data'=> $this->Js->serializeForm(array(
            'isForm' => false,
            'inline' => true
            ))
        ))
);

我知道我可以使用类似的东西来工作,但是因为我只使用日期的选择框切换到datepicker,所以我已经为JS帮助器实现了所有其他功能。唯一的问题是在选择值时触发JS助手。

jQuery(function($){
    $(document).ready(function() {
        $("input.datepicker").datepicker({
            onSelect: function(date){
                check_availability(date);
            },
            dateFormat: 'mm-dd-yy',
            yearRange: "-100:+50",
            changeMonth: true,
            changeYear: true,
            constrainInput: false,
            showOn: 'both',
            buttonImageOnly: true
        });
    });
});


function check_availability(date){
    //do stuff here
}

1 个答案:

答案 0 :(得分:0)

在datepicker下仍然存在一个input元素,其中包含输入所具有的所有正常事件。

所以事件onchangeonblur(取决于您想要做的事情)如果将其中一个绑定到所需操作而不是onclick,则可以完成工作。