【问题标题】:Replace input field with read only text in AngularJS用AngularJS中的只读文本替换输入字段
【发布时间】:2013-02-05 01:51:15
【问题描述】:

我目前设置了一些 jQuery,以从视图中删除输入字段并将输入字段的值作为纯文本写入范围内,但是我想知道 AngularJS 将如何处理这个问题。该事件在提交表单时发生,该部分也已经通过 ajax 完成。这不仅仅是一个输入,而是所有输入都在表单上,​​因此您可以看到刚刚提交的结果。

【问题讨论】:

    标签: javascript html angularjs


    【解决方案1】:

    在每个输入字段及其相关文本等效项上使用 ng-show 和/或 ng-hide。

    当你提交表单时,切换一些 $scope 属性:

    <input type="text" ... ng-model='text1' ng-show="editMode">
    <span ng-hide="editMode">{{text1}}</span>
    

    在您的控制器中,将 editMode 初始化为 true。在您的提交函数中,将其设置为 false。

    【讨论】:

    • 这将隐藏输入,但我仍然希望值本身显示为文本。
    • 啊,我知道你在那里做了什么
    • 如何为选择/选项下拉菜单执行此操作?
    • 同理。将 ng-show 放在 select 上,并在其后放置 ng-hide span。使用您在选择中指定的任何 ng-model 变量,而不是 text1
    • 好了,我有一个数组,所以我必须确定我想要的特定变量。谢谢!
    【解决方案2】:

    尝试在调用 .js 函数的 html 中添加任何这些函数

     <script>
        $(function() {
    
     $('#fieldName').attr("readonly","readonly");
    
     });
    </script>
    

         <script>
        $(function() {
    
     $('#fieldName').attr("readonly", true);
    
     });
    </script>
    

    其中#fieldName 是输入字段的ID。

    【讨论】:

    • 这是我目前使用 jQuery 所做的,我希望在 AngularJS 中对不再附加 id 的字段进行同样的操作。最好同时所有输入。
    • 尝试将 '#fieldName' 更改为 'input'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 2012-09-27
    • 2015-01-14
    • 2015-04-23
    • 2011-03-05
    • 2016-06-10
    • 1970-01-01
    相关资源
    最近更新 更多