在ng-click AngularJS中添加一个文本区输入类型和字符串

append a textarea input type with a string on ng-click AngularJS

本文关键字:文本区 一个 输入 类型 字符串 AngularJS ng-click 添加      更新时间:2023-09-26

我有一个使用ng-click将数据附加到文本区域输入字段的问题。我试图实现一个下拉菜单,将样板数据添加到文本区,但我希望能够选择多个样板数据到文本区。

html:

<div id="specialinstructions-group" class="form-group">
  <div class="dropdown">
    <label data-toggle="dropdown" class="dropdown-toggle">Special Flash Instructions<b class="caret"></b></label>
      <ul class="dropdown-menu">
        <li ng-click="addSpecialInstructions('Please unplug the system for 10 seconds after the BIOS and EC update completes.')"><span>10 Second Powercycle</span></li>
      </ul>
    <textarea name="FlashInstructions" class="form-control" id="FlashInstructions" rows="3" ng-model="formData.flashinstructions">        </textarea>
</div>

这是我的控制器/函数,我试图使用附加:

formApp.controller('formController', function($scope) {
    $scope.formData = {};
    $scope.formData.flashinstructions = "";
    $scope.addspecialInstructions = function(text) {
            var added = $scope.formData.flashinstructions + text;
            $scope.formData.flashinstructions = added;
            alert(added);
        }

我得到这个错误:

ReferenceError: formData is not defined

我知道JQuery有一个。append()函数,但我似乎不能让它工作。

我对Javascript, JQuery和AngularJS很陌生。我可能正在处理一个范围问题,想知道下一步在哪里寻找解决方案。

你可以这样改变你的控制器。

formApp.controller('formController', function($scope) {
    var formData = {};
    formData.flashinstructions = "";
    formData.addspecialInstructions = function (text) {
        var added = formData.flashinstructions + text;
        formData.flashinstructions = added;
        alert(added);
    }
    $scope.formData = formData;

你的html看起来像

<div id="specialinstructions-group" class="form-group">
  <div class="dropdown">
    <label data-toggle="dropdown" class="dropdown-toggle">Special Flash Instructions<b class="caret"></b></label>
      <ul class="dropdown-menu">
        <li ng-click="formData.addSpecialInstructions('Please unplug the system for 10 seconds after the BIOS and EC update completes.')"><span>10 Second Powercycle</span></li>
      </ul>
    <textarea name="FlashInstructions" class="form-control" id="FlashInstructions" rows="3" ng-model="formData.flashinstructions">        </textarea>
</div>

我也鼓励你在控制器中使用对象文字,而不是所有的东西都与$scope绑定。首先创建一个对象在控制器的末尾,你可以绑定它$scope。