gpt4 book ai didi

javascript - 未捕获的类型错误 : Cannot read property 'replace' of null jqgrid

转载 作者:行者123 更新时间:2023-11-28 18:03:22 26 4
gpt4 key购买 nike

我是编程新手。当我尝试下面的函数时,除非列中有空白单元格,否则它会很好地工作。如果单元格中有任何空白值,则它不起作用,然后整个页面都会变成空白。请帮我解决。

        function growth (cellvalue) {
var gcolor;
var numval=cellvalue
var val = Number(numval.replace("%",""));
if (val<0) {
gcolor = 'red';
} else if (val>0) {
gcolor = 'green';
}
return '<span class="cellWithoutBackground" style="background-color:' + gcolor + ';">' + cellvalue + '</span>';
};

我也在下面尝试过不等于 null 像这样 if (val !== null && val<0)

    function growth (cellvalue) {
var gcolor;
var numval=cellvalue
var val = Number(numval.replace("%",""));
if (val !== null && val<0) {
gcolor = 'red';
} else if (val !== null && val>0) {
gcolor = 'green';
}
return '<span class="cellWithoutBackground" style="background-color:' + gcolor + ';">' + cellvalue + '</span>';
};

当没有空白单元格时,两者都可以正常工作。但是当有一个空白单元格时,它就不起作用。请帮忙。

更新

function growth (cellvalue) {
var numval=cellvalue
if(numval != null || numval != '' || numval != "")
{
var gcolor;
var val = Number(numval.replace("%",""));
if(val<0) {gcolor = 'red';}
else if(val >0) {gcolor = 'green';}
return '<span class="cellWithoutBackground" style="background-color:' + gcolor + ';">' + cellvalue + '</span>';
};
else{return '<span class="cellWithoutBackground" style="background-color:' + white + ';">' + cellvalue + '</span>';};

browser console log

最佳答案

您应该在尝试解析该值之前测试cellvalue != null。测试 cellvalue != null 在 JavaScript 中的含义与 cellvalue !== null || 相同单元格值!==未定义。在这两种情况下,您都不应该使用 cellvalue.replace(或 numval.replace)。

代码中下一个可能出现的问题是使用数字值作为输入数据。例如,您可以使用 123 而不是 "123"。 Number 类型没有 replace 方法,您可能还会遇到一个错误。如果数字还不是字符串,我建议您使用 String(cellvalue) 将数字转换为字符串。

尝试类似的事情

function growth (cellvalue) {
if (cellvalue == null) { // test for null or undefined
return "";
}
cellvalue = Number(String(cellvalue).replace("%",""));
return '<span class="cellWithoutBackground" style="background-color:' +
(cellvalue < 0 ? 'red' : 'green') +
';">' + cellvalue + '</span>';
}

关于javascript - 未捕获的类型错误 : Cannot read property 'replace' of null jqgrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43199298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com