javascript - 使字段只读成 Angular

标签 javascript angularjs

我正在制作一个表单,用户可以通过单击“添加更多”按钮来添加更多字段。为此,我正在使用 ng-repeat 并且当用户单击添加更多按钮时,一个字段被推送到 ng-repeat 中的数组结果到另一个字段中。

现在对于某些情况,ng-repeat 数组可能包含一些字段,我想让它们只读,但如果用户单击添加更多按钮,则该字段可以编辑。 我的代码:

HTML代码

 <div ng-repeat="field in ui_fields">
     <label for="Language">Field Name :</label><input class="form-control" type="text" ng-model="field.name">
     <label for="Language">Field type :</label>
     <select class="form-control" ng-model="field.type">
         <option value="">Select field type</option>
         <option value="timedate">Date & Time</option>
         <option value="text">Text</option>
     </select>
 </div>

Angular 代码

$scope.add_extra_field = function(){
    $scope.ui_fields.push({ 
        name: "",
        type: ""
      });
    }

最佳答案

ui_fields 数组和 ngReadOnly 中使用额外字段 isreadonly指令,例如:

您的 HTML:

<div ng-repeat="field in ui_fields">
    <label for="Language">Field Name :</label><input class="form-control" ng-readonly="field.isreadonly" type="text" ng-model="field.name">
    <label for="Language">Field type :</label>
    <select class="form-control"  ng-disabled="field.isreadonly" ng-model="field.type">
        <option value="">Select field type</option>
        <option value="timedate">Date & Time</option>
        <option value="text">Text</option>
    </select>
</div>

你的javascript:

$scope.add_extra_field = function(){
    $scope.ui_fields.push({ 
        name: "",
        type: "",
        isreadonly: false
      });
    }

关于javascript - 使字段只读成 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30069342/

相关文章:

javascript - 如何创建反向无序列表?

javascript - pouchDB和Backand,离线和在线同步

javascript - 如何使用 angularJs 动态更改 HTML 的 id

javascript - 在下拉菜单中的 Angular 应用程序中显示 JSON 数据

angularjs - AngularJS 中 ng-class 的绑定(bind)

javascript - 与 Angular JS 中使用指令类似和不同

javascript - 如何将数组传递到mssql查询字符串中?

javascript - JSON.stringify(value , replacer) 在 Chrome 和 FF 中的不同结果

javascript - 来自 php json 的 highchart feed 数据

javascript - 如何将 node.js 应用程序转换为 cordova