Jquery datepicker添加点击事件到上一个下一个按钮

标签 jquery events datepicker click

我有这个函数,可以为给定的元素 id 设置日期选择器,并且我正在尝试向上一个和下一个按钮添加单击功能。但似乎没有任何作用。我在网上搜索了如何向这些按钮添加点击事件,但它们都给出了一个 id。

我在这里做错了什么?

function setDatepicker(element,curdate,identifier){
    //identifier is the element.id
    var minDateMaxDate = getCalendarsYearRange(1);
    var min = new Date(minDateMaxDate[0] * 1000);
    var max = new Date(minDateMaxDate[1] * 1000);

    $(element).datepicker({
          id: identifier,                 
          firstDay: 1,
          showOtherMonths: false,
          selectOtherMonths: false,
          changeYear: true,
          changeMonth: true,
          yearRange: getCalendarsYearRange(0),
          monthNamesShort:monthNamesShort,
          dayNamesShort:dayNamesShort,
          minDate: min,
          maxDate: max,
          onClose: function (dateText, inst){
            saveFieldsChanges(element,dateText,inst);
            getFieldsFromDialog();
          }
    });

    $(element).datepicker( "option", "dateFormat", "dd-mm-yy" );
    $(element).datepicker( "option", "defaultDate", curdate );  
    $("#"+identifier+" .ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev").live('click', function(){     
        console.log("prev");
    });
    $("#"+identifier+" .ui-datepicker-div .ui-datepicker-header .ui-datepicker-next").live('click', function(){     
        console.log("next");
    });

}

更新

我在其中设置日期选择器的 Html,这是加载的 xsl 模板的一部分,输入字段是日期选择器。

<div class="ferias-form-div">

        <div class="labelfieldcontainer">
            <div class="formlabels">Data início</div>
            <div class="formfields">
                <input type="text" id="datainicioferias" onblur="saveFieldsChanges(this)" onkeyup="saveFieldsChanges(this)" name="datainicioferias" value="" class="textbox"/>
                <div class="errodialog" id="datainiciodialogferias"></div>
            </div>
        </div>


        <div class="labelfieldcontainer">
            <div class="formlabels">Data fim</div>
            <div class="formfields">
                <input type="text" id="datafinalferias" onblur="saveFieldsChanges(this)" onkeyup="saveFieldsChanges(this)" name="datafinalferias" value="" class="textbox"/>
                <div class="errodialog" id="datafimdialogferias"></div>
            </div>
        </div>
...

这就是我设置日期选择器的方式:

setDatepicker(inputelement,curdate,"datafinalferias");

更新 2 - 使用 answear

亚历山大的帮助下,我将此选项添加到日历中

onChangeMonthYear: function (year, month, inst ) {

            var limites;
            var cal_date_string = month+'/'+year;           
            limites = getCalendarsYearRange(2); //my calendar's navigation limits
            var end_date_string = limites[1]; //my calendar's navigation limits
            var start_date_string = limites[0]; //my calendar's navigation limits

            if(end_date_string == cal_date_string){         
                setTimeout( function(){ $(".ui-datepicker-next").attr( "onclick", 'mensagemLimite(1);' )},100);
            }

            if(start_date_string == cal_date_string){ 
                setTimeout( function(){ $(".ui-datepicker-prev").attr( "onclick", 'mensagemLimite(0);' )},100);
            }

          }

这样,当上一个/下一个按钮变为非事件状态时,它将获得我想要的 onclick 函数。

最佳答案

试试这个

$(document).on('click', '.ui-datepicker-next', function () {
  console.log('next');  
})

$(document).on('click', '.ui-datepicker-prev', function () {
  console.log('prev');  
})

关于Jquery datepicker添加点击事件到上一个下一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27904212/

相关文章:

javascript - 在 JQuery 中区分此代码段中的 2 个复选框

events - Tridion 2011 工作流程次要版本使用事件处理程序自定义代码进行增量

javascript - addeventlistener 返回函数

javascript - jQuery UI 中的 datePicker 不工作

jquery - 如何添加动态 Bootstrap 日期选择器字段?

jQuery 查询字符串对象

javascript - JQGrid Formatter 内联编辑后生成不正确的代码

events - 事件溯源和密码更改安全隐患

twitter-bootstrap - minDate 在 Bootstrap 日期选择器中不起作用

javascript - 数据表 deferRender 不延迟