Javascript 如何通过从onclick事件传递引用来访问另一个函数中的$(this).val()?
当前代码:Javascript 如何通过从onclick事件传递引用来访问另一个函数中的$(this).val()?,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,当前代码: 函数validateInput(){ console.log($(this.val()) } $(“元素”) .日期选择器({ 今天的亮点:没错, 周开始:0, 格式:“yyyy-mm-dd”, onClose:function(){ validate.validateInput() } })将其作为普通参数传递 函数验证输入(el){ console.log($(el).val()) } $(“元素”) .日期选择器({ 今天的亮点:没错, 周开始:0, 格式:“yyyy-mm
函数validateInput(){
console.log($(this.val())
}
$(“元素”)
.日期选择器({
今天的亮点:没错,
周开始:0,
格式:“yyyy-mm-dd”,
onClose:function(){
validate.validateInput()
}
})
将其作为普通参数传递
函数验证输入(el){
console.log($(el).val())
}
$(“元素”)
.日期选择器({
今天的亮点:没错,
周开始:0,
格式:“yyyy-mm-dd”,
onClose:function(){
验证输入(此)
}
})
您应该传递给函数,以便在函数中引用该函数以访问值。另外,不确定为什么要在validate.validateInput()中使用validate
:
函数验证输入(el){
log($(el.val());
}
$(“元素”)
.日期选择器({
今天的亮点:没错,
周开始:0,
格式:“yyyy-mm-dd”,
onClose:function(){
验证输入(本);
}
});代码>
日期:
你可以这样做:
function validateInput(element){
console.log($(element).val())
}
打电话
$("#element")
.datepicker({
todayHighlight: true,
weekStart: 0,
format: "yyyy-mm-dd",
onClose: function() {
validate.validateInput('#element');
}
});
或是亲昵地
$(".date_input")
.datepicker({
todayHighlight: true,
weekStart: 0,
format: "yyyy-mm-dd",
onClose: function(e) {
validate.validateInput(e.target);
}
});
提供validate.validateInput()
不需要this
来引用validate
(例如调用其他验证方法),然后您可以使用来控制this
的解释,而无需传递参数
function validateInput() {
console.log($(this).val());
}
$("#element").datepicker({
'todayHighlight': true,
'weekStart': 0,
'format': "yyyy-mm-dd",
'onClose': validate.validateInput.bind(this)
});
如果要在选择后获取日期,请使用接收文本的onSelect
事件,在函数内部,您可以尝试this.value
jquery.js:7550 Uncaught TypeError:无法读取未定义的属性“toLowerCase”。当我运行这个时,我得到了这个。这与我的jquery有关吗?@shan,我不这么认为,错误表明您试图在null对象上使用toLowerCase
。但这在你的问题中并没有任何地方被使用……好的,我明白了,我是无意中引用了其他东西……谢谢这个作品!如果我调用类似于:$(“#element”).datepicker().on(“hide”,e=>{validateInput(this)})的东西,那么我想把这个问题作为与这个问题相关的问题来处理;从这个意义上说,“this”指的是函数而不是元素正确吗?因此,如果我想在validateInput中获得“this”,我必须使用function()@shan,在这种情况下,您可以使用正常的函数语法.on(“input”,function(){validateInputx(this)})代码>