【发布时间】:2013-12-23 13:56:45
【问题描述】:
我有一个 php 日期字符串数组和一个原生 html5 日期输入框。 我已将日期数组输出到 json 对象以允许与 javascript 一起使用:
<script>
var date_array = <?php echo json_encode($aDates); ?>;
...
这会给出如下输出:
var date_array = {
"2013-12-05": "2013-12-05",
"2013-12-04": "2013-12-04",
"2013-12-03": "2013-12-03"
...
};
我正在使用 html5 原生日期输入框,我想检查用户选择的值是否存在于 json 对象中。看来,在(我的版本)chrome中,输入中日期字符串的格式是dd/mm/yyyy,所以我想一些日期解析是必要的。
这是我目前所拥有的:
var date_input = $('input#end_date');
date_input.change(function(){
if( jQuery.inArray(date_input.val(), date_array) > -1 ){
date_input.parent().addClass('has-success');
date_input.parent().removeClass('has-error');
} else {
date_input.parent().addClass('has-error');
date_input.parent().removeClass('has-success');
}
});
这不能正常工作。 有什么改进的方法吗?
【问题讨论】:
-
date_array中的值不是日期。它们都是字符串。因此,您需要确保date_input.val()与您的字符串格式相同 -
date_array 不是一个数组。改用
date_array = ["2013-12-05", "2013-12-04", "2013-12-03"]
标签: javascript json html date object