Javascript 内容编辑后如何更改单元格背景?

Javascript 内容编辑后如何更改单元格背景?,javascript,jquery,Javascript,Jquery,我正在将一些csv列导入html表中。我需要做一些验证:如果一个特定列的一个或多个单元格是空的,那么我不允许将数据导入我的数据库,我用背景色突出显示空单元格。它是一个可编辑的表格;有人能解释一下,当空单元格已被编辑且不再为空时,我如何更改背景颜色 到目前为止,我的javascript就是这样的: 函数非空(arr){ 对于(变量i=0;i

我正在将一些csv列导入html表中。我需要做一些验证:如果一个特定列的一个或多个单元格是空的,那么我不允许将数据导入我的数据库,我用背景色突出显示空单元格。它是一个可编辑的表格;有人能解释一下,当空单元格已被编辑且不再为空时,我如何更改背景颜色

到目前为止,我的javascript就是这样的:

函数非空(arr){
对于(变量i=0;i

塞莱齐奥纳文件
修改
里莫维
{#
#}
Carica文件csv{{##}

您可以将输入事件侦听器附加到行中。因此,每当一行的文本是空字符串时,将其背景设置为红色,如果不是空的,则将其设置为不同的颜色

$('.beta tr')。每个(函数(i){
var column2cell=$($(this.children('td')[2]);
if(column2cell.text()=“”){
css('background-color','red');
}
column2cell.on('input',function()){
如果($(this).text()!=“”){
column2cell.css('background-color','#dddddddd');
}否则{
css('background-color','red');
}
});
});
表格{
字体系列:arial,无衬线;
边界塌陷:塌陷;
宽度:100%;
}
运输署,
th{
边框:1px实心#dddddd;
文本对齐:左对齐;
填充:8px;
}
tr{
背景色:#dddddd;
}

公司
联系
国
A公司
人A
B公司
B人
B国
C公司
C人
C国

仅指出属性
contenteditable=“false”
与缺少的属性相同,而
contenteditable=“true”
contenteditable
都使其可编辑

如果您希望动态操作该
$(this).prop(“contenteditable”,false)可以使用

现在,我们(一旦解决了这个问题)就可以在实际属性上设置我们的功能,这样我们就不必处理
td[2]
和维护,如果您添加了列等,就可以在我的示例中进行测试,我在示例中设置了一些列

然后可以使用
输入
事件。那么这里的代码真的很简单,不要使用类而不是
.css(
这里只需简单地切换它们-我在这里使用我的引导来显示多个,但它可以像我的
空单元格
示例一样是你的。请注意,如果有人放入一个空格,它会转换为
-所以我也添加了该条件,但使用了警告类。使用空单元格和空格测试不同的单元格,以了解情况。)行动(让它成为一个空间)

我通过将此代码与包装器元素
$(“#csv file data”)
以及清空它的操作(但不是文档)挂钩,使其与动态创建的表兼容,因此如果您有其他表,则它是特定的

$(函数(){
$(“#csv文件数据”)
.on('input','tbody td[contenteditable]',函数(事件){
$(本)
.toggleClass($(this.html()==“”| |$(this.html()==“”))中的($警报警告)
.toggleClass('空单元格警报危险',($(this.html()==);
});
});
td.empty-cell{
背景色:红色;
}

上载
选择文件
斯卡拉
钢琴
内网
mq
福格里奥
微粒
附属的
scala材料
钢琴用品
内网