在我的AngularJS应用程序中,我在ng-repeat中有一些文本框。你可以看到Plunkr片段here。 http://plnkr.co/edit/TyWBV1Yr5Rb0IEY6wdOR?p=preview 最初加载页面时,禁用所有文本框进行编辑,即它们不可编辑。但是,如果用户点击了第三个文本框,则启用'按钮,然后该文本框应单独变为可编辑。目前,虽然我正在设置属性' disabled = false'对于此代码段中的文本框:
$scope.enable = function(index) {
alert("TextBox "+index+" enabled");
$scope.records.data[index].disabled="false";
};
但是,它仍然是不可编辑的。你能帮忙吗?
答案 0 :(得分:1)
你有几个错误。首先将HTML更改为:
<div ng-repeat="server in records">
<div ng-repeat="user in server.data">
<input type="text" ng-model="NameEdit" ng-disabled="user.disabled" placeholder="{{user.name}}" init-from-form>
<button id="enableButton" ng-click="enable(user)">Enable
</button>
</div>
</div>
此处我将ngDisabled更改为ng-disabled="user.disabled"
(无需表达式{{}})和ng-click="enable(user)"
。然后控制器变为:
$scope.enable = function(user) {
user.disabled = false; // false must be boolean, not string "false"
};