Javascript .find()Jquery函数在IE11中不受支持?
使用剑道网格时,我需要一种方法来检查网格上特定单元格的数据。我想返回单元格所在的列名。列具有静态字段名,但具有动态标题。我需要根据字段名检索标题 代码:Javascript .find()Jquery函数在IE11中不受支持?,javascript,jquery,asp.net-mvc,kendo-ui,kendo-grid,Javascript,Jquery,Asp.net Mvc,Kendo Ui,Kendo Grid,使用剑道网格时,我需要一种方法来检查网格上特定单元格的数据。我想返回单元格所在的列名。列具有静态字段名,但具有动态标题。我需要根据字段名检索标题 代码: function checkAllTemperatures(data) { var columns = ['Temp1','Temp2','Temp3','Temp4','Temp5']; var comment = ''; for (var i = 0; i < columns.length; i++) {
function checkAllTemperatures(data) {
var columns = ['Temp1','Temp2','Temp3','Temp4','Temp5'];
var comment = '';
for (var i = 0; i < columns.length; i++) {
comment += checkTemperature(data, columns[i]) + ', ';
}
//removes trailing comma and whitespace from comment
comment = comment.replace(/,\s*$/, "");
setComment(data, comment);
}
function checkTemperature(data, columnName) {
var comment = '';
var matlSpec = GetMaterialSpecs(data.ProductId);
var changedData = data[columnName];
if(changedData > matlSpec.TemperatureUpperLimit || changedData < matlSpec.TemperatureLowerLimit)
{
var columnTitle = grid.columns.find(function(v, i) { return grid.columns[i].field == columnName; }).title;
comment = columnTitle + ' = ' + changeData;
CommonFunctions.OpenErrorWindow({message: 'Temp is out of specification!', Errors:'', errors:''});
}
return comment;
}
功能检查所有温度(数据){
var列=['Temp1','Temp2','Temp3','Temp4','Temp5'];
var注释=“”;
对于(var i=0;i材料规格温度上限| |更改数据<材料规格温度下限)
{
var columntTitle=grid.columns.find(函数(v,i){return grid.columns[i].field==columnName;}).title;
注释=columnTitle+'='+changeData;
CommonFunctions.OpenErrorWindow({message:'Temp超出规范!',错误:“”,错误:“”});
}
回复评论;
}
在Google Chrome中调试时,在控制台中运行以下命令:grid.columns.find(函数(v,i){return grid.columns[i].field==“Temp1”})。title
返回正确的标题,但在IE11中运行时,我遇到以下错误:
0x800a01b6-JavaScript运行时错误:对象不支持属性或方法“find”
Dispite在Chrome控制台中运行的命令,当实际运行Chrome程序时,会出现以下错误:
未捕获引用错误:未定义changeData
关于此代码为何中断的想法:
1) Jquery被初始化了两次,因为剑道网格破坏了它
2) IE11不支持.find()
有什么解决方法吗?您可以为Array.find方法找到一个polyfill。IE在任何时候都不支持Array.find。Edge确实支持它。第二个错误是因为输入错误(您初始化了changedData,然后使用changeData(注意缺少d)。第一个错误是因为
grid。columns
不是jQuery对象,而是常规数组,而不是find()
您可以使用filter().pop()
。至少IE11(以及所有现代浏览器)都支持这一点。