javascript - 使用 moment.js 根据日期更改输入字段的背景和颜色
问题描述
我需要使用 moment.js 根据日期更改输入字段的背景和颜色我有下面的一些代码,但它会找到日期值,然后不会更改颜色。我想知道为什么没有。我会接受 javascript 或 jquery 中的任何好的答案。
var cccr_mems = [
{ "Name": "Ahmed, Jamshed", "cccrEXP": "2018.10.10" },
{ "Name": "Attaya, James J", "cccrEXP": "2019.01.12" },
{ "Name": "Badamo, Anthony", "cccrEXP": "2018.09.12" }]
function getExpireDate(ele) {
var i = null;
for (i = 0; cccr_mems.length > i; i++) {
if (cccr_mems[i].Name == ele.value) {
var exDate = moment(cccr_mems[i].cccrEXP, 'YYYY.MM.DD');
// everything works except for this next "if" statement:
// I would rather reference the input date field by ID such as id = "CCCR_X1"
if (moment().isAfter(exDate)) {
$(ele).closest('.universal').find('.CCCRexpDate').css('color', "#A3005B");
} else {
$(ele).closest('.universal').find('.CCCRexpDate').css('color', "#275052");
}
// down to here.
return cccr_mems[i].cccrEXP;
}
}
return '';
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>
<input type = "text" onblur="getExpireDate();" class="CCCRexpDate" name = "cccr_exp" id = "CCCR_X1" />
<input type = "text" onblur="getExpireDate();" class="CCCRexpDate" name = "cccr_exp" id = "CCCR_X2" />
<input type = "text" onblur="getExpireDate();" class="CCCRexpDate" name = "cccr_exp" id = "CCCR_X3" />
解决方案
这可能有助于首先在 getExpireDate 中传递元素的引用
<input type = "text" onblur="getExpireDate(this);" class="CCCRexpDate" name = "cccr_exp" id = "CCCR_X1" />
<input type = "text" onblur="getExpireDate(this);" class="CCCRexpDate" name = "cccr_exp" id = "CCCR_X2" />
<input type = "text" onblur="getExpireDate(this);" class="CCCRexpDate" name = "cccr_exp" id = "CCCR_X3" />
然后更新 getExpireDate
function getExpireDate(ele) {
var i = null;
for (i = 0; cccr_mems.length > i; i++) {
if (cccr_mems[i].Name == ele.value) {
var exDate = moment(cccr_mems[i].cccrEXP, 'YYYY.MM.DD');
if (moment().isAfter(exDate)) {
//$(ele).css('color', "#A3005B");
$(ele).css('background', "#A3005B");
} else {
$(ele).css('background', "#275052");
//$(ele).css('color', "#275052");
}
return cccr_mems[i].cccrEXP;
}
}
return '';
}
推荐阅读
- java - 解决接口默认方法中的 AvoidLiteralsInIfCondition
- docker - Gitlab docker runner 路径问题。gitlab-ci.yml
- java - while 循环中的 mapFrag.getMapAsync() 问题
- java - 我在一个实体中有多个 OneToMany 映射。即使我没有请求该对象,Hibernate 也会加载第一个对象。这是预期的行为吗?
- java - Spring Boot 存储库测试中的日期格式
- xaml - 手机预览方向更改为绝对布局的水平和额外边距时缺少 XAML 标题文本
- ios - 将完成处理程序添加到函数 swift
- javascript - Angular 4:使用 SystemJS 的 Gulp 构建任务返回错误 ENOENT
- python - 停止自动打印控制台中的表达式评估
- firebase - 允许管理员用户读/写所有其他用户的firebase安全规则会造成安全漏洞?