gpt4 book ai didi

javascript - ng-model 不绑定(bind)到选择选项

转载 作者:行者123 更新时间:2023-12-03 05:51:32 25 4
gpt4 key购买 nike

我已经用谷歌搜索了很多,但无法弄清楚我的代码中有什么问题。从选择框中选择选项时,我的 ng-model 不会更新。

<div ng-controller="UserRegistrationController as userReg">
<select name="selectOrganisation" ng-required="true" ng-model="userReg.candidateData.BusinessUnit">
<option>Select Organisation</option>
<option>ABC</option>
<option>XYZ</option>
<option>KLM</option>
</select>
</div>

Controller :

(function (window) {
'use strict';

angular.module('myApp.userRegistration.controllers')
.controller('UserRegistrationController', ['UserRegistrationService', '$scope', function (UserRegistrationService, $scope) {
var vm = this;

vm.candidateData = {
FirstName: '',
LastName: '',
Email: '',
PhoneNumber: '',
JobId: '',
PrimarySkills: '',
SecondarySkills: '',
BusinessUnit: '',
CreatedBy: 'SPAN54',
CreatedOn: new Date(),
resume: '',
OfferStatus: 1,
Remarks: ''
};

}]);
})(window);

在我的帖子函数内的 console.log(vm.candidateData.BusinessUnit) 上(此处不可见),我看到“”。

更新1:“在我的代码中。我只是在将其粘贴到此处时忽略了它。现在已经更新了上面的代码。但我的代码仍然无法工作。

更新2:终于,我找到了这个问题。我在我的应用程序中使用 Materialize.css,并且我的选择元素被包裹在 div 和 ul-li 中。因此,当用户选择一个值时,他实际上是在修改 ul-li,而不是 select 元素。但我无法弄清楚如何捕获这样的选定值。有任何想法吗?谢谢。

更新 3:添加了 fiddle .

最佳答案

尝试了您发布的代码。它对我有用。我在下面添加了工作代码片段。

这些更改是否使其正常工作。如果它仍然不适合您,您可以分享一个工作片段吗?

  • 添加双引号以结束 ng-controller 属性。 <div ng-controller="UserRegistrationController as userReg>
  • 从 Controller 中删除了 UserRegistrationService 声明,因为其未定义或共享。

var app = angular.module('sample', []);

app.controller('UserRegistrationController', ['$scope', function($scope) {
var vm = this;
vm.candidateData = {
FirstName: '',
LastName: '',
Email: '',
PhoneNumber: '',
JobId: '',
PrimarySkills: '',
SecondarySkills: '',
BusinessUnit: '',
CreatedBy: 'SPAN54',
CreatedOn: new Date(),
resume: '',
OfferStatus: 1,
Remarks: ''
};
$scope.change = function() {
console.log(vm.candidateData.BusinessUnit);
}
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="sample">

<div ng-controller="UserRegistrationController as userReg">
<select ng-change="change()" name="selectOrganisation" ng-required="true" ng-model="userReg.candidateData.BusinessUnit">
<option>Select Organisation</option>
<option>ABC</option>
<option>XYZ</option>
<option>KLM</option>
</select>
</div>

</body>

关于javascript - ng-model 不绑定(bind)到选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40130462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com