获取要在 if 语句中使用的选定值

Get selected value to use in if statement

我正在尝试使用 ngoptions 和 ngchange 验证 select 下拉列表中的内容。 例如,如果 selected 上的内容是 'Ticket' 那么它将显示提交按钮。

目前,在我看来(前端)Jade:

Select(ng-model='angReporting' ng-options="r.reporting for r in 
incategory" style="width:100px;" ng-change="ifChange(angReporting)" )
br
a.btn.btn-primary.btn-sm(ng-click="incidentsCreate()" ng-hide="validate(status)") 
Submit

上面是一个简短的例子,我有一组链接的 selects (angularjs) 正在工作。 为了验证 selected 的内容是否正确,我在我的模块中添加了以下内容:

$scope.itemList=[];

$scope.ifChange=function(item){
    $scope.itemList.push(item.reporting);

    for (var i=0; i < $scope.itemList.length; i++){
      if($scope.itemList[i] === 'Ticket'){
        $scope.validate = {status: false};
      }
    }
  };

范围的 json 内容简而言之:

 $scope.incategory = [
    {

      'reporting':'Incident',
      'content':[
        {
          ...
        }
      'reporting':'Ticket',
      'content':[
        {
          ...
        }

提前感谢您分享您的想法 最好的问候

"angReporting" 未在您执行时定义:

ng-change="ifChange(angReporting)"

您可以使用“$scope.angReporting”在控制器端获取 ng-model "angReporting" 值,因此我建议如下:

控制器

$scope.incategory = [
    {
      'reporting':'Incident',
      'content':''
    },
    {
      'reporting':'Ticket',
      'content':''
    }];
$scope.itemList = [];
  $scope.ifChange=function(){
    $scope.itemList.push($scope.angReporting.reporting);
    for (var i=0; i < $scope.itemList.length; i++){
      if($scope.itemList[i] === 'Ticket'){
        $scope.validate = true;
      }
    }
  };

查看

Select(ng-model='angReporting' ng-options="r.reporting for r in incategory" ng-change="ifChange()" )
br
a.btn.btn-primary.btn-sm(ng-click="incidentsCreate()" ng-show="validate") Submit