Javascript 启用单元格的输入
如果用户键入错误的键,我想将输入单元格的颜色更改为粉红色。我可以让它改变,但我不能在他们点击单元格后重置颜色。我试过使用.prop(“disabled”,false)。我错过了什么Javascript 启用单元格的输入,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如果用户键入错误的键,我想将输入单元格的颜色更改为粉红色。我可以让它改变,但我不能在他们点击单元格后重置颜色。我试过使用.prop(“disabled”,false)。我错过了什么 function setUnitField(a) { $(function () { var tbl = $(document.getElementById('21.125-mrss-cont-none-content')); var str1 = 'Each'; var str2 = 'Do
function setUnitField(a) {
$(function () {
var tbl = $(document.getElementById('21.125-mrss-cont-none-content'));
var str1 = 'Each';
var str2 = 'Dozen';
var str3 = 'Foot';
var str4 = 'Us Gallon';
tbl.find('tr').each(function () {
$(this).find("input[name$='8#if']").keypress(function (e) {
if (e.which == 13) {
if ($(this).val() == 'EA') {
$(this).val(str1);
$(this).css("background-color", "");
} else {
$(this).css("background-color", "pink");
}
if ($(this).val() == 'DZ') {
$(this).val(str2);
}
if ($(this).val() == 'Ft') {
$(this).val(str3);
}
if ($(this).val() == 'GAL') {
$(this).val(str4);
}
}
});
});
});
}
尝试以下方法:
var str1='Each';
var str2='打';
var str3=‘英尺’;
var str4=‘美国加仑’;
$('table')。查找('tr')。每个(函数(){
$(this).find(“输入[name$='8#if']”)。按键(函数(e){
如果(e.which==13){
if($(this).val()=='EA'){
$(this).val(str1);
$(this.css(“背景色”);
}
else if($(this).val()=='DZ'){
$(this.css(“背景色”);
$(this.val)(str2);
}
else if($(this).val()=='Ft'){
$(this.css(“背景色”);
$(此).val(str3);
}
else if($(this).val()=='GAL'){
$(this.css(“背景色”);
$(此).val(str4);
}
否则{
$(this.css(“背景色”、“粉色”);
}
}
否则{
$(this.css(“背景色”、“粉色”);
}
})
});代码>
您需要发布一个完整的示例,以便任何人都能正确地帮助您。我建议至少使用HTML和其他相关的JS。您希望键入时颜色正常吗?请批准我的答案。它可以工作,但它会突出显示每个输入,而不仅仅是错误的输入。我添加了更多代码。您可以添加HTML吗?添加了输入元素
<input id="grid#21.125#1,8#if" ct="I" type="text" maxlength="3" tabindex="0" ti="0" class="lsTblEdf3 lsTblEdf3NoEllipsis" value="" autocomplete="off" autocorrect="off" name="grid#21.125#1,8#if" onfocus="cellClick('grid#21.125#1,8','true');" onkeypress="cellKeyPress('grid#21.125#1,8',event);" oninput="setCacheValue(this); setUnitField(this);">