如何访问波斯datepicker jquery插件的onSelect事件中的(this)属性

如何访问波斯datepicker jquery插件的onSelect事件中的(this)属性,jquery,datepicker,Jquery,Datepicker,我在dom中有一个类的多个实例。就像下面的例子 let element = $(".datepicker-birthdate").pDatepicker({ observer: true, altField: '.observer-example-alt', format: 'YYYY/MM/DD', initialValue: false, autoClose: true, calendar:{ 'persia

我在dom中有一个类的多个实例。就像下面的例子

let element = $(".datepicker-birthdate").pDatepicker({
    observer: true,
    altField: '.observer-example-alt',
    format: 'YYYY/MM/DD',
    initialValue: false,
    autoClose: true,
    calendar:{
        'persian': {
            'locale': 'fa',
            'showHint': false
        },
        'gregorian': {
            'locale': 'en',
            'showHint': false
        }
    },
    onSelect: function (date, e){
        e: is undefine here also
        element: is the last instance of .datepicker-birthdate
    }
});
元素总是返回日期选择器的最后一个实例,但是我希望访问我所更改的那个实例。
有人对此有解决方案吗?

假设
onSelect
函数不接收事件或元素作为参数,如果您在问题中描述它们是
未定义的
,情况似乎就是这样,然后,您可以手动循环类中的元素,并分别在这些元素上实例化日期选择器。这允许您在
select
处理程序函数中维护
This
引用:

$(“.datepicker birthdate”).each(函数(){
让$datePicker=$(这个);
$datePicker.pDatepicker({
观察家:对,,
altField:'。观察者示例alt',
格式:“YYYY/MM/DD”,
初始值:false,
自动关闭:是的,
日历:{
“波斯语”:{
'locale':'fa',
“showHint”:错误
},
“格里高利人”:{
“locale”:“en”,
“showHint”:错误
}
},
onSelect:功能(日期){
//根据需要在此处使用$datepicker。。。
$datePicker.addClass('foo');
}
});
});

事实上,库应该在onSelect事件中提供this对象,而它们没有,也许像Rory McCrossan所描述的那样在类上使用foreach循环是最好的选择。

步骤1:打开persian-datepicker.min.js

步骤2: 替换

步骤3: 之后:

e.model.options.onSelect(t);
e.model.options.onSelect(t, e);
$('').persianDatepicker({
        onSelect: function (formattedDate, e) {

           console.log($("#" + e.id).val());

        }
});