jQuery 验证器使用 bootstrap 日期选择器之后的先前值
jQuery validator using previous value after bootstrap datepicker
我正在使用像这样初始化的 bootstrap 日期选择器...
$(".datepicker").datepicker({
language: "en-GB",
startDate: "01/01/1900",
endDate: "31/12/2200",
autoclose: true,
forceParse: false
});
然后我有一个自定义 jQuery 验证器,它是...
$(function () {
$.validator.addMethod("futuredaterequired", function (value, element, params) {
//Validation code here
});
});
但是,一旦我从日期选择器中做出选择,验证器方法中的 value
就是在日期选择器中选择的先前值。不是新选择的值。
所以我尝试使用 element
再次获取值,但是这也是 returns 日期选择器的先前值。如果我在整个方法上放置 setTimeOut
那么 value
是正确的,但是超时会导致其他问题。
关于如何解决这个问题有什么想法吗?
我现在找到的唯一解决方案是...
$(".datepicker").datepicker({
language: "en-GB",
startDate: "01/01/1900",
endDate: "31/12/2200",
autoclose: true,
forceParse: false
})
.on('changeDate', function(e) {
$(this).valid();
});
这样,jQuery 验证是 运行 在输入中的实际值被更改之后。
该方法仍然 运行 在初始选择日期时仍然使用之前的日期值。然而,当它在 changeDate
上第二次 运行 时,它使用了正确的值。
不理想...但它有效。如果您有更好的解决方案,请告诉我。
我正在使用像这样初始化的 bootstrap 日期选择器...
$(".datepicker").datepicker({
language: "en-GB",
startDate: "01/01/1900",
endDate: "31/12/2200",
autoclose: true,
forceParse: false
});
然后我有一个自定义 jQuery 验证器,它是...
$(function () {
$.validator.addMethod("futuredaterequired", function (value, element, params) {
//Validation code here
});
});
但是,一旦我从日期选择器中做出选择,验证器方法中的 value
就是在日期选择器中选择的先前值。不是新选择的值。
所以我尝试使用 element
再次获取值,但是这也是 returns 日期选择器的先前值。如果我在整个方法上放置 setTimeOut
那么 value
是正确的,但是超时会导致其他问题。
关于如何解决这个问题有什么想法吗?
我现在找到的唯一解决方案是...
$(".datepicker").datepicker({
language: "en-GB",
startDate: "01/01/1900",
endDate: "31/12/2200",
autoclose: true,
forceParse: false
})
.on('changeDate', function(e) {
$(this).valid();
});
这样,jQuery 验证是 运行 在输入中的实际值被更改之后。
该方法仍然 运行 在初始选择日期时仍然使用之前的日期值。然而,当它在 changeDate
上第二次 运行 时,它使用了正确的值。
不理想...但它有效。如果您有更好的解决方案,请告诉我。