gpt4 book ai didi

javascript - Js 类将这个(类)传递给 jquery datepicker

转载 作者:行者123 更新时间:2023-12-03 06:39:52 24 4
gpt4 key购买 nike

我正在使用 js 类将 jQuery UI 日期选择器分配给 dom 元素。这一切都有效,但我遇到的问题是 onSelect 参数。 this 设置为 dom 元素,因此我无法使用 this 调用类中的函数。

class form_validate{

constructor(){
this.addDatePickers();
}

addDatePickers(){

$(document).ready(function(){
console.log('called');
var datepickers = document.getElementsByClassName('dh-datepicker');
var contextClass= this;

[].forEach.call(datepickers, function(d){
$(d).datepicker({
dateFormat: 'dd-mm-yy',
onSelect: function(contextClass){
console.log(this);
contextClass.calledf();
}
});
}, contextClass);
})

}

calledf(){
console.log('yeaa');
}


}//end class

var validater= new form_validate();

我还尝试传入对象 validator 并将 this 保存到变量并传入(请参阅上面的 contextClass)。当 this 发生更改时,如何调用类中的函数?

https://jsfiddle.net/1t0wfuzw/6/

最佳答案

只需向上移动即可

var contextClass = this;

像这样:

class form_validate {

constructor() {
this.addDatePickers();
}

addDatePickers() {
var contextClass = this;
$(document).ready(function() {
console.log('called');
var datepickers = document.getElementsByClassName('dh-datepicker');

[].forEach.call(datepickers, function(d) {
$(d).datepicker({
dateFormat: 'dd-mm-yy',
onSelect: function() {
console.log(this);
contextClass.calledf();
}
});
}, contextClass);
})
}

calledf() {
console.log('yeaa');
}

} //end class

var validater = new form_validate();

关于javascript - Js 类将这个(类)传递给 jquery datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38011215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com