Datepicker onSelect

ous*_*.tn 4 jquery datepicker onselect

我有一个带有类的输入[date_caisse]:datepicker-inline和id:[date_caisse]

我在我的所有网页上初始化了此功能:

function InitEvents () {

$('.datepicker-inline').datepicker({

    showButtonPanel: true,  /*added by oussama*/
    changeMonth: true, /*added by oussama*/
    changeYear: true, /*added by oussama*/
    firstDay: 1,
    dateFormat: 'yy-mm-dd',/*'dd/mm/yy'*/
    onSelect: function (dateText, inst) {
        //alert('select!');
        id = $(this).attr('id');
        parts = id.split('-');
        id2 = parts[parts.length -1];
        $('#datepicker-target-id-' + id2).val(dateText);
    }
});
Run Code Online (Sandbox Code Playgroud)

}

我想仅在当前页面上应用onSelect,所以这就是我所做的:

$('#date_caisse').datepicker({

    onSelect: function (dateText, inst) {
        alert('select!');
    }
});
Run Code Online (Sandbox Code Playgroud)

当我发出 警报('选择!'); 在主js文件(在所有页面中调用)它工作!但是当我尝试通过当前文件触发操作时它不会.

也许,onSelect不应该被调用两次.

那么,有人可以帮我吗?

谢谢,祝你有个美好的一天!

the*_*cuz 11

你把第二个函数放在jquery初始化块中了吗?我的意思是,它应该看起来像

$(function(){
   $('#date_caisse').datepicker({
      onSelect: function (dateText, inst) {
         alert('select!');
      }
   });
});
Run Code Online (Sandbox Code Playgroud)

编辑:

好,我知道了.第一次初始化datepicker时,原始dom元素被标记为新的类添加,称为hasDatepicker,阻止后续初始化/重新配置.我发现摆脱它的方法是删除该标记,以便对datepicker的配置进行任何修改.从而:

$(function() {
   $('#date_caisse').removeClass('hasDatepicker');
   $('#date_caisse').datepicker({
       onSelect: function(dateText, inst) {
           alert('overridden!');
       }
   });
});
Run Code Online (Sandbox Code Playgroud)

试试看!