2016-02-08 2 views
1

Здесь я использую angularjs с веб-API. Я хочу получить выбранные значения выпадающего списка и назначить их в объект списка, а затем сохранить в БД. Вот мой код.Как получить выделенный текст, значение из выпадающего списка и назначить в объект списка в angularjs

selectModule.controller("selectStateController", function ($scope) { 
 
$scope.ILBasicInfoDTO.PYROrNonResidencyStateInfo.TaxpayerEarnedIncomeFromOtherState = { StateID: 10, StateName: 'Illinois' }, { StateID: 11, StateName: 'New York' }, { StateID: 12, StateName: 'Michigan' }, { StateID: 13, StateName: 'Georgia' }, { StateID: 14, StateName: 'California' }; 
 

 
$.ajax({ 
 
     url: serviceUrl + 'il/persistilbasicinfo', 
 
     dataType: "json", 
 
     type: "POST", 
 
     async: true,    
 
     data: JSON.stringify({ 
 
       userId: userId, 
 
       TaxReturnData: 
 
        { 
 
         UserDataId: userDataId, 
 
         TaxData: JSON.stringify($scope.ILBasicInfoDTO), 
 
         IsTaxMeterCall: false 
 
        }, 
 
      }), 
 
      contentType: "application/json; charset=utf-8", 
 
      error: function (jqXHR, textStatus, errorThrown) { 
 
       ErrorHandling(jqXHR, errorThrown); 
 
      }, 
 
      success: function (data, textStatus) { 
 
       if (data != null) { 
 

 
       } 
 

 
      } 
 
     }) 
 
});
<select id="ddlSpouseEearnedIncomeFromOtherState0" ng-model="ILBasicInfoDTO.PYROrNonResidencyStateInfo.TaxpayerEarnedIncomeFromOtherState"> 
 
<option value="">--Select--</option> 
 
<option ng-repeat="TStatesExceptIL in TaxpayerStatesExceptILAndReciprocalStates" ng-value="TStatesExceptIL.StateId">{{TStatesExceptIL.StateCode}}</option> 
 
</select>

+0

Вы не упомянули вашу проблему. Какую проблему вы столкнулись с этим кодом? –

+0

Когда я получаю выделенное выпадающее значение из ng-модели, я не могу сохранить в db в формате Json. Например: если в настоящее время я выбрал значение модели, он может автоматически добавить $$ hashKey ({«StateId»: 19, «$$ hashKey», «0»}) в список obj, и я использовал angular.toJson для удаления $ $ hashKey, и он был повторно найден из списка obj, но он может иметь следующую ошибку. Невозможно десериализовать текущий объект JSON (например, {"name": "value"}) в type 'System.Collections.Generic.List'1 [JTL.Tax1040.BusinessObject.State]', потому что для этого типа требуется массив JSON (например, [ 1,2,3]) для десериализации. Как я могу решить? –

+0

Прежде всего, не используйте jquery ajax по угловому коду. используйте $ http. –

ответ

0

Для того, чтобы получить выделенный текст и значение, передать весь объект в ng-value:

<select id="ddlSpouseEearnedIncomeFromOtherState0" ng-model="ILBasicInfoDTO.PYROrNonResidencyStateInfo.TaxpayerEarnedIncomeFromOtherState"> 

<option value="">--Select--</option> 
<option ng-repeat="TStatesExceptIL in TaxpayerStatesExceptILAndReciprocalStates" ng-value="TStatesExceptIL">{{TStatesExceptIL.StateCode}}</option> 
</select> 

Теперь вы можете получить текст и значение из $scope переменной, которая были привязаны к ng-model, т.е. $scope.ILBasicInfoDTO.PYROrNonResidencyStateInfo.TaxpayerEarnedIncomeFromOtherState

Текст как: $scope.ILBasicInfoDTO.PYROrNonResidencyStateInfo.TaxpayerEarnedIncomeFromOtherState.StateCode

значение как: $scope.ILBasicInfoDTO.PYROrNonResidencyStateInfo.TaxpayerEarnedIncomeFromOtherState.StateId

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