这是我在视图上的代码:
input type="text" name="passno" ng-keyup="fetchdata()" class="form-control" ng-model="FormData.passno"
input name ="firstname" type="text" class="form-control" ng-model="FormData.fname" ng-disabled="isDisabled"
input name="lastname" type="text" class="form-control" ng-model="FormData.lname" ng-disabled="isDisabled"
在控制器端:
$scope.FormData = {passno:''};
$scope.fetchdata = function() {
$scope.$watch('FormData.passno',function(){
$http({
method: 'POST',
url: 'server/company/getPassnoData',
data: {passno:$scope.FormData.passno },
headers: {'X-API-KEY': $rootScope.currentUser.key}
})
.success(function(data){
$scope.autofill = data;
if(data) {
SweetAlert.swal({
title: "Warning?",
text: "User with this passport number is already registered as "+$scope.autofill.CandData.f_name,
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Auto Fill",
cancelButtonText: "Reset",
closeOnConfirm: false,
closeOnCancel: false
}, function (isConfirm) {
if (isConfirm) {
$scope.FormData.fname= $scope.autofill.CandData.f_name;
$scope.FormData.lname= $scope.autofill.CandData.l_name;
});
我的问题是甜蜜警报会正确生成警报。当我点击自动填充它显示成功,但文本框值不能显示,直到我在特定文本框上手动单击它然后将显示文本框上的所有值,但我想只显示为通过单击自动填充。基本上我想动态显示文本框值。我只接受护照号码字段的输入而不是发送请求,结果是我必须动态显示的名字,姓氏字段。
答案 0 :(得分:0)
如果您更改了非角度组件内的任何内容,则无法运行$digest
以对其链接的所有位置进行更改。
您需要对非角度组件应用更改。
喜欢这个
$scope.FormData.fname= $scope.autofill.CandData.f_name;
$scope.FormData.lname= $scope.autofill.CandData.l_name;
$scope.$apply()
或者像这样
$scope.$apply(function(){
$scope.FormData.fname= $scope.autofill.CandData.f_name;
$scope.FormData.lname= $scope.autofill.CandData.l_name;
})