JavaScript函数在angularjs函数中不起作用

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>

我试图在angular函数中运行JavaScript函数,但遇到了错误 曾经索引过,搜索功能不工作

 <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必须是大写