JavaScript函数在angularjs函数中不起作用
我试图在angular函数中运行JavaScript函数,但遇到了错误 曾经索引过,搜索功能不工作JavaScript函数在angularjs函数中不起作用,javascript,angularjs,Javascript,Angularjs,我试图在angular函数中运行JavaScript函数,但遇到了错误 曾经索引过,搜索功能不工作 <select class="form-control input-sm input_high" name="groupname" id="groupname" ng-model="tech_groupname"> <option value="">Select</option>
<select class="form-control input-sm input_high" name="groupname" id="groupname" ng-model="tech_groupname">
<option value="">Select</option>
<option value="Dedicated-1">Test1</option>
<option value="Dedicated-2">Test2</option>
<option value="Yellow-2">Test3</option>
</select>
<div class="ui-widget" ng-if="checkCorpPackage(tech_groupname)" ></div>
appTechInfo.controller('tech_info_ctrl', ['$scope',function($scope)
{
//** check if package is corporate and need if start
$scope.checkCorpPackage = function(temp_grp_name){
//value is printed here if javascript function is not used
console.log(temp_grp_name);
//i have tested by getting data via scope too
var test_data = $scope.tech_groupname;
console.log(temp_grp_name.toLowerCase());
/**
if(temp_grp_name.indexof("Dedicated") > -1)
{
return true;
}
else
{
return false;
}
**/
}
//** check if package is corporate and need if start
}]);
错误日志
TypeError:无法读取未定义的属性“toLowerCase”
我搜索过类似的问题,但他们提供的解决方案对我不起作用temp_grp_name将未定义,因为其值将在更改选择控件时更改。因此,您必须通过检查undefined或null来处理它
temp_grp_name.indexOf("Dedicated")
这仅仅意味着temp_grp_name未定义,即未向函数传递任何内容。如何从视图中调用该函数?我在调用该函数时已经传递了它,并且我正在控制台上获取值,检查为什么temp_grp_name未定义。我在代码上添加了所有内容,上面的内容都是从select tagalways always use object in ng model传递的值。您的问题是没有在Variable上设置默认值,或者在用户更改之前检查它是否已定义SelectThank@Nimesh您解决了问题我使用了indexOf而不是indexOf O必须是大写