您好,我为我的项目使用Angularjs,有国籍搜索下拉列表。我想映射在Input上键入的内容,并在国籍JSON对象中对其进行过滤。这部分在IE以外的其他浏览器中都可以正常工作。出现控制台错误“对象不支持属性或方法'startsWith'”。这是我的代码,我可以为我的代码为此问题添加“ String.prototype.startsWith”吗?
$scope.searchNationality = function (data) {
var output = [];
if (data != "" && data != undefined) {
$scope.ShowNationalityDropDown = true;
for (var i = 0; i < $scope.nationalityList.length; i++) {
if ($scope.nationalityList[i].content.toLowerCase().startsWith(data.toLowerCase())) {
output.push($scope.nationalityList[i]);
}
}
$scope.nationalityListSearchResults = output;
} else {
$scope.ShowNationalityDropDown = false;
$scope.nationalityListSearchResults = [];
}
};
您可以尝试更改.startsWith到.indexOf因为它与IE浏览器的低版本兼容。如果.indexOf返回0,则该字符串位于调用该函数的字符串的第一个位置,当您无法使用.startsWith()时,可以使用该字符串。
const str = "Hey this is a sample string!"
console.log(str.indexOf("Hey") === 0)
console.log(str.indexOf("sample") === 0)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句