如果所选值为" Y"我试图根据下拉列表的选择隐藏输入字段。应禁用输入字段。我不知道这里发生了什么。 -followed stackover flow上一个问题:Disable Input field according to select option value Angularjs
感谢任何帮助,提前谢谢
var myapp = angular.module("myModule", []);
myapp.controller("myController", function($scope){
var orgData = [
{ id: '1', roleName: "VPL", orKey: "SSB", sendAllFundsFlag: "Y", fundId:""},
{ id: '2', roleName: "VPN", orKey: "JPM", sendAllFundsFlag: "N", fundId: "0023"},
{ id: '3', roleName: "VGN", orKey: "INV1", sendAllFundsFlag: "N", fundId: "0026"},
{ id: '4', roleName: "SPC", orKey: "VPN", sendAllFundsFlag: "N", fundId: "0036"}
];
$scope.orgData = orgData;
$scope.selectEdit = function(id){
$scope.orgRoleData = id;
};
});

<html ng-app="myModule">
<head>
<title> CRUD Operations </title>
<script src=https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.min.js></script>
</head>
<body ng-controller="myController">
<select name="select" ng-model="orgRoleData.sendAllFundsFlag" ng-change="disablefundId = (sendAllFundsFlag==Y)">
<option value="Y">Yes</option>
<option value="N">No</option>
</select>
<input type="text" ng-model="orgRoleData.fundId" ng-disabled="disablefundId"/>
</body>
</html>
&#13;
答案 0 :(得分:0)
我认为您的选择
有两个问题1)$ scope中没有sendAllFundsFlag,它应该是
orgRoleData.sendAllFundsFlag
2)您输入的值是字符串,因此您应该添加&#39; &#39;将模型与值进行比较时
"disablefundId = (sendAllFundsFlag=='Y')"
答案 1 :(得分:0)
我会将您的评估转移到ng-disabled
表达式本身。否则,您必须进行多个评估(一个用于设置disablefundId
值,另一个用于ng-disabled
评估。
ng-disabled="orgRoleData.sendAllFundsFlag === 'Y'"
另外,正如NTP指出的那样,您的评估是针对文本字符串的,因此Y
在此处用单引号括起来。
var myapp = angular.module("myModule", []);
myapp.controller("myController", function($scope){
var orgData = [
{ id: '1', roleName: "VPL", orKey: "SSB", sendAllFundsFlag: "Y", fundId:""},
{ id: '2', roleName: "VPN", orKey: "JPM", sendAllFundsFlag: "N", fundId: "0023"},
{ id: '3', roleName: "VGN", orKey: "INV1", sendAllFundsFlag: "N", fundId: "0026"},
{ id: '4', roleName: "SPC", orKey: "VPN", sendAllFundsFlag: "N", fundId: "0036"}
];
$scope.orgData = orgData;
$scope.selectEdit = function(id){
$scope.orgRoleData = id;
};
});
<html ng-app="myModule">
<head>
<title> CRUD Operations </title>
<script src=https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.min.js></script>
</head>
<body ng-controller="myController">
<select name="select" ng-model="orgRoleData.sendAllFundsFlag">
<option value="Y">Yes</option>
<option value="N">No</option>
</select>
<input type="text" ng-model="orgRoleData.fundId" ng-disabled="orgRoleData.sendAllFundsFlag === 'Y'"/>
</body>
</html>