2017-01-16 2 views
2

Так у меня есть два раскрывающихся коробок и ответ первого выпадающего списка генерируются при загрузке страницы, а второе ниспадающего Быстродействии генерируется при изменении первого ответа ниспадающегоПолучение ошибки при изменении выпадающего списка во второй раз

<div class="form-group"> 
    <select name="country_city" class="inputbox" required ng-model="frm.country_city" ng-change="state_city()"> 
     <option ng-repeat="country in country_city track by $index" value="{{country.id}}">{{country.name}}</option> 
    </select> 
</div> 

<div class="form-group"> 
    <select name="state_city" class="inputbox" required ng-model="frm.state_city"> 
     <option ng-repeat="state in state_city track by $index" value="{{state.id}}">{{state.name}}</option> 
    </select> 
</div> 
$scope.state_city = function() { 
    console.log("in state city"); 
    $scope.frm.country_city; 
    $http.get(url, { 
     params: { 
      action: 'get_state_city', 
      country_id: $scope.frm.country_city 
     } 
    }).success(function(data, status, headers, config, jsonp) { 
     $scope.state_city= data; 
     console.log($scope.state_city); 
    }); 
}; 

Проблема в том, что, когда я меняю ответ первого раскрывающегося окна на второй раз, он дает мне ошибку. Изображения помогут. Третье изображение показывает ошибку

enter image description here

enter image description here

enter image description here

Изображения показывают выбор Индии страны и государства Махараштра в качестве ответа, но при выборе США просто изменить ответ дать ошибку

+1

ничего себе, у вас есть непрочитанные сообщения электронной почты 8000 +. Не ставьте изображение таким образом. – Moshii

+0

Вы уверены, что html правильно сопоставлен с контроллером, в котором у вас есть функция? –

+0

@sreehari thik так, потому что он работает правильно в первый раз –

ответ

0

Проблема: scopefunction имя и scope variable name есть sam е:

$scope.state_city = function() { 
    console.log("in state city"); 
    $scope.frm.country_city; 
    $http.get(url, { 
     params: { 
      action: 'get_state_city', 
      country_id: $scope.frm.country_city 
     } 
    }).success(function(data, status, headers, config, jsonp) { 
     $scope.state_city= data; => Issue is here 
     console.log($scope.state_city); 
    }); 
}; 

Вы создаете функцию $scope.state_city(), а затем внутри функции успеха вы делаете это $scope.state_city= data;, В следующий раз ваш state_city не стал variable с response data и не больше function.

+1

yup thanks @Thalaivar за ваш ответ, который был на самом деле незнающим меня –

+0

@SnehalGongle: Это прекрасно ... это случается, счастливое кодирование :) – Thalaivar

0

Try изменения в:

$scope.change_state_city = function() { 
      $http.get(url, { 
      params: { 
       action: 'get_state_city', 
       country_id: $scope.frm.country_city 
      } 
     }).success(function(data, status, headers, config, jsonp) { 
      $scope.state_city= data; 
      console.log($scope.state_city); 
     }); 
    }; 

<div class="form-group"> 
    <select name="country_city" class="inputbox" required ng-model="frm.country_city" ng-change="change_state_city()"> 
     <option ng-repeat="country in country_city track by $index" value="{{country.id}}">{{country.name}}</option> 
    </select> 
</div> 

<div class="form-group"> 
    <select name="state_city" class="inputbox" required ng-model="frm.state_city"> 
     <option ng-repeat="state in state_city track by $index" value="{{state.id}}">{{state.name}}</option> 
    </select> 
</div> 

 Смежные вопросы

  • Нет связанных вопросов^_^