【发布时间】:2016-06-05 01:37:25
【问题描述】:
当 order_datePicker 输入字段由 bootstrap-datepicker 填充时,我正在尝试验证它。我已经在stackoverflow 上找到了一些答案,但不知何故我无法让它自己工作。对于我正在使用的其他输入字段:
$('#order_emailadres').on('input', function() {
但这不适用于日期选择器输入字段,因为用户没有使用输入。
因此,正如documentation 和 stackoverflow 链接中所述,我正在尝试捕获 changeDate 事件,以便可以通过以下代码验证输入:
HTML:
<div id=sandbox-container>
<div id="datepicker"></div>
<input type="text" id="order_datePicker" name=order_datePicker>
</div>
</div>
JS:
$('#order_datePicker').on('changeDate', function () {
var input=$(this);
var re = /^[0-9]{2}-[0-9]{2}-[0-9]{4}$/;
var is_valid=re.test(input.val());
if(is_valid){input.removeClass("invalid").addClass("valid");}
else{input.removeClass("valid").addClass("invalid");}
});
很遗憾,这不起作用。我做错了什么?
更新:
使用下面的代码让它工作,但现在该类被添加到 div 而不是输入字段。但是,原始问题得到了回答。谢谢
$('#datepicker').datepicker().on('changeDate',function(){
$('#order_datePicker').val($('#datepicker').datepicker('getFormattedDate'));
var input=$(this);
var re = /^[0-9]{2}-[0-9]{2}-[0-9]{4}$/;
var is_valid=re.test(input.val());
if(is_valid){input.removeClass("invalid").addClass("valid");}
else{input.removeClass("valid").addClass("invalid");}
});
【问题讨论】:
-
$('#order_datePicker').datepicker().on('changeDate',function(){});这是你需要使用的对吗? -
你实例化了
.datepicker()吗? -
是的,我也试过了。没有运气
-
你知道你不只是尝试,它是必需的!
-
您的问题有一个问题:stackoverflow.com/a/17429056/4274373
标签: javascript jquery bootstrap-datepicker