Javascript 无法将事件中select选项的值绑定到ng模型
HTMLJavascript 无法将事件中select选项的值绑定到ng模型,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,HTML <select class="form-control" ng-model="campaign.CampaignTypeId" ng-options="CampType.id as CampType.name for CampType in CampaignTypeIds track by CampType.id" > <option value="">Select campaign t
<select class="form-control"
ng-model="campaign.CampaignTypeId"
ng-options="CampType.id as CampType.name for
CampType in CampaignTypeIds track by CampType.id" >
<option value="">Select campaign type</option>
</select>
在一个事件中,我得到一个活动对象作为响应,并且该对象具有活动类型ID:1,但我无法将活动类型ID绑定到选择选项的ng模型关键在于ng选项,您必须这样放置
ng选项=“CampType as CampType.name for CampType in CampTypeIDS track by CampType.id”
。您可以看到它在其中工作。您还可以将ng模型绑定到对象,如ng model=“campaign”
标记:
<body ng-app="myApp" ng-controller="myCtrl">
<select class="form-control"
ng-model="campaign"
ng-options="CampType as CampType.name for
CampType in CampaignTypeIds track by CampType.id" >
<option value="">Select campaign type</option>
</select>
</body>
请注意,超时是在2秒后模拟请求。当您手动设置$scope.campaign.CampaignTypeId时会发生什么?据我所知,angular仅在ng模型值本身上设置手表,而不是父对象上设置手表。这是并起作用的。标记上的ng模型为
ng model=“campaign“
而不是ng model=“campaign.id”
恐怕是not@SriChatala你看到这个了吗。你能描述一下什么是不工作的吗?它在这里工作很好,如果我使用相同的格式,它不工作,无论如何谢谢你的帮助
<body ng-app="myApp" ng-controller="myCtrl">
<select class="form-control"
ng-model="campaign"
ng-options="CampType as CampType.name for
CampType in CampaignTypeIds track by CampType.id" >
<option value="">Select campaign type</option>
</select>
</body>
angular.module('myApp', [])
.controller('myCtrl', ['$scope', '$timeout', function($scope, $timeout) {
$scope.CampaignTypeIds = [{
id: "1",
name: "Location"
}, {
id: "2",
name: "Brand"
}];
$scope.getSingleCampaignResponse = function(response) {
$scope.campaign = response;
}
//simulating request
$timeout(function() {
$scope.getSingleCampaignResponse({ id: "2" });
// or if you want like this
// $scope.getSingleCampaignResponse({ id: "2" , name : "brand"});
}, 2000)
}]);