【问题标题】:Modal window comment editing module (editable text)模态窗口注释编辑模块(可编辑文本)
【发布时间】:2017-06-06 08:45:02
【问题描述】:

我想做的是,在编辑评论操作期间,我有一个模态窗口,其中的评论文本写在 textarea 中,并且它是可编辑的,而无需通过单击删除所有文本。我试图将值放在 textarea 中或将其放在占位符中。但是这两个选项都是错误的并且不起作用。 有人可以看看这段代码并给我一个建议,我应该如何看待它。

editComment.html

<div class="modal-header">
    <h3 class="modal-title" id="modal-title">Edytuj komentarz</h3>
</div>
<div class="modal-body" id="modal-body">
    <div class="row">
        <div class="col-sm-12">
            <div class="row">
                <div class="col-sm-12 form-group">
                    <label>Treść</label>

                    <textarea class="form-control input-sm"
                              name="description"
                              ng-maxlength="512"
                              ng-model="$ctrl.selected"
                              rows="6">{{comment.value()}}</textarea>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="modal-footer">
    <button class="btn btn-raised btn-primary"
            type="button"
            ng-disabled="!$ctrl.selected"
            ng-click="$ctrl.ok()">Zapisz
    </button>
    <button class="btn btn-raised btn-warning"
            type="button"
            ng-click="$ctrl.cancel()">Anuluj
    </button>
</div>

editComment.js

(function() {
    'use strict';

    angular.module('settlerApplication').controller('EditCommentCtrl', function($uibModalInstance) {

        var $ctrl = this;

        $ctrl.ok = function() {
            $uibModalInstance.close($ctrl.selected);
        };

        $ctrl.cancel = function() {
            $uibModalInstance.dismiss('cancel');
        };

    });

})();

【问题讨论】:

    标签: javascript html angularjs frontend


    【解决方案1】:

    我不确定你想达到什么目的。但无论如何:如果你想用 $ctrl.foo 初始化你的 textarea 的 ng-model(根据我的理解,你的情况是comment.value()),你应该:

    在控制器中,用这个值初始化你的 $ctrl.selected 变量:

    $ctrl.selected = $ctrl.foo;
    

    或者,在您的模板中,使用 ng-init :

    <textarea class="form-control input-sm"
              ng-init="$ctrl.selected = $ctrl.foo"
              name="description"
              ng-maxlength="512"
              ng-model="$ctrl.selected"
              rows="6"></textarea>
    

    【讨论】:

    • 我在下面给出了解释。希望写的够清楚。抱歉这么愚蠢的问题,但我正在学习,我真的不知道如何做到这一点。我有另一个想法,我正在尝试编码(没有模式窗口)
    • 好的,我明白了。所以正如我所说,您需要将注释值传递给模态的控制器,然后用它初始化 $ctrl.selected 变量。
    【解决方案2】:

    好的,所以我将解释一下。

    我有这样的模态窗口:

    我想在这个窗口中编辑现有的 cmets。所以我希望我的评论出现而不是文本:“Komentarz”(点击后:“Treść”)。而且我希望该评论文本是可编辑的,因此我不必再次将其写下来(将整个文本放到该区域)。是否可以更好地解释我的目标?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-06
      • 1970-01-01
      • 2023-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多