Angularjs 中的克隆元素

2023-12-01

我需要复制一些输入字段才能处理来自客户端的数据。我已经用 jQuery 完成了http://jsfiddle.net/m7R3f/1/

HTML:

<fieldset id="fields-list">
<div class="pure-g entry">
    <div class="pure-u-1-5">
        <input type="text" class="pure-input-1" id="input-1" name="input-1">
    </div>
    <div class="pure-u-1-5">
        <input type="text" class="pure-input-1" id="date" name="date">
    </div>
    <div class="pure-u-1-5">
        <input type="text" class="pure-input-1" id="input-2" name="input-2">
    </div>
</fieldset>
<button id="add">Add</button>

JS

$(document).ready(function ()
{
    $("#add").click(function ()
    {
        $(".entry:first").clone(false).appendTo("#fields-list");
    });
});

然而,我刚刚开始学习 Angular,并想将这些代码转换为 Angular。 我已经阅读了 stackoverflow 中的问题,并在这里找到了 angularjs 的代码:http://jsfiddle.net/roychoo/ADukg/1042/。但是,它似乎只适用于一个输入字段?我可以使用 AngularJS 克隆/复制多个输入字段吗? (换句话说:将我上面的代码转换为 AngularJS 版本?) 非常感谢。


如果你想克隆 html 元素,最好的方法是使用 ng-repeat 指令。

你的控制器

var App = angular.module('App', []).controller('Test', ['$scope',
  function($scope) {

    $scope.inputCounter = 0;
    $scope.inputs = [{
      id: 'input'
    }];
    $scope.add = function() {
      $scope.inputTemplate = {
        id: 'input-' + $scope.inputCounter,
        name: ''
      };
      $scope.inputCounter += 1;
      $scope.inputs.push($scope.inputTemplate);
    };

  }
])
<!DOCTYPE html>
<html ng-app="App">

<head lang="en">
  <meta charset="UTF-8">
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>

<body ng-controller="Test">
  <fieldset id="fields-list">
    <div class="pure-g entry" ng-repeat="input in inputs track by input['id']">
      <div class="pure-u-1-5">
        <input type="text" class="pure-input-1" id="input" name="input-1">
      </div>
      <div class="pure-u-1-5">
        <input type="text" class="pure-input-1" id="date" name="date">
    </div>
    <div class="pure-u-1-5">
        <input type="text" class="pure-input-1" id="input-2" name="input-2">
    </div>
    </div>
  </fieldset>
  <button type="button" id="add" ng-click="add()">Add</button>

</body>

</html>

Angular 防止创建重复的元素,为了避免这种情况,请使用track by就像例子中一样

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angularjs 中的克隆元素 的相关文章

  • 使用 moment.js 检查输入日期是否为星期一

    好吧 我想检查日期是否是星期一 例如 var myDate new Date moment myDate DD MM YYYY dayIs monday 在我的国家 一周的第一天是星期一 所以 我真的想检查输入日期是否是一周的开始 我尝试使
  • 如何使用 jest 模拟第三方库

    我正在开发一个node js应用程序使用nestjs我有一堂课叫LoggerService如下 export class LoggerService private logger Rollbar constructor this logge
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • 如何让 jquery Tooltipster 插件适用于新创建的 DOM 元素?

    我正在使用 Tooltipster 插件http calebjacob com tooltipster http calebjacob com tooltipster 这很棒 但我已经动态生成了插入到 DOM 中的内容 工具提示程序似乎没有
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 使用 JS 合并具有相同值的相邻 HTML 表格单元格

    我已经为此苦苦挣扎了一段时间 我有一个根据一些 JSON 数据自动生成的表 该数据可能会有所不同 我想合并第一列中具有相同值的相邻单元格 例如此表中的 鱼 和 鸟 table tr td fish td td salmon td tr tr
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • JQuery 验证在 IE8 中不起作用

    我使用 JQuery 验证脚本来验证 HTML 表单 这在 Firefox 中完美运行 但在 IE8 中不起作用 我认为冒号 或分号 有问题 但我无法抓住它 jQuery validator addMethod selectNone fun
  • 将 javascript 整数转换为字节数组并返回

    function intFromBytes x var val 0 for var i 0 i lt x length i val x i if i lt x length 1 val val lt lt 8 return val func
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • :jQuery / Sizzle 中的 nth-of-type()?

    让我惊讶的是Sizzle http sizzlejs com jQuery 使用的选择器引擎 带有一个内置的 nth child 选择器 但缺少 nth of type 选择器 为了说明之间的区别 nth child and nth of
  • Select2 下拉列表动态添加、删除和刷新项目

    这让我发疯 为什么 Select2 不能在其页面上实现清晰的方法或示例如何在 Select2 上进行简单的 CRUD 操作 我有一个 select2 从 ajax 调用获取数据
  • 如何在 Google 地图 V3 中创建编号地图标记?

    我正在制作一张上面有多个标记的地图 这些标记使用自定义图标 但我还想在顶部添加数字 我已经了解了如何使用旧版本的 API 来实现这一点 我怎样才能在V3中做到这一点 注意 当您将鼠标悬停在标记上时 标题 属性会创建一个工具提示 但我希望即使
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an
  • 单击引导分页链接时调用 jquery 函数

    我想在单击引导分页链接时调用 jquery 函数 假设我想从第1页遍历到第2页 应该调用一个jquery函数 我正在使用以下代码 但它不起作用 ul pagination on click li function alert page ch
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 如何在 gulp.src 中使用基本正则表达式?

    我正在尝试选择两个文件gulp src highcharts js and highcharts src js 当然 我知道我可以使用数组表达式显式添加这两个表达式 但出于学习目的 我尝试为它们编写一个表达式 我读过可以使用简单的正则表达式
  • AngularJS - 设置下拉列表的选定值不起作用

    我在这里复制了我的问题 http jsfiddle net U3pVM 2840 http jsfiddle net U3pVM 2840 正如标题所示 我无法设置使用 ng options 填充的选择的选定值 我已经搜索并尝试了我找到的所

随机推荐

  • 在响铃期间更改响铃音量

    我想在响铃时更改响铃音量 下面的代码在响铃期间设置它 在系统设置中更改 但它不会在实际响铃时生效 只有下一个响铃呼叫才会使用新值 我可以强制此更改使其立即生效吗 AudioManager audio AudioManager context
  • 在 Java 中通过一次调用(如 JSON.stringify)打印整个结构?

    如何在Java中打印任何类实例 类似于 Javascript 中的 JSON stringify 不需要 JSON 任何格式的输出都可以 public class User public String name password publi
  • PHP旋转和合并时的图像质量问题

    当我合并两个图像作为一个背景 另一个作为目标图像时 我正在使用 png 当我旋转目标图像然后合并时 是的 一切都很好 除了旋转图像的边缘变得锯齿形 我的意思是不平滑 如何使用php GD使边缘平滑 我正在使用的代码
  • 如何公开嵌套在 UserControl 中的控件的 DependencyProperty?

    我正在尝试将图像从窗口绑定到用户控件 显示处理程序 内的用户控件 显示 中 显示有一个 DependencyProperty DisplayImage 这类似于this 但他们的回答对我的问题没有帮助 DisplayHandler 还应该具
  • AppFabric 客户端虚拟机问题

    我们有 AppFabric 缓存集群服务器 我可以使用我的开发计算机作为客户端来使用它 为了模拟不同的Web服务器访问缓存集群服务器 我创建了VMWare虚拟机并安装了Visual Studio 2010和我的Web应用程序 从虚拟机作为客
  • 我可以从 Tomcat 上下文设置 JDBC 隔离级别吗?

    我有一个在 Tomcat 6 中运行的 Web 应用程序 并且我已设法将其配置为使用内置 DBCP 连接池 并且一切都运行良好 但我怀疑它在数据库上的错误隔离级别中运行 我希望它以未提交读的方式运行 但我认为它以已提交读的方式运行 并且不知
  • GtkWindow 一次只能包含一个小部件

    我正在使用此代码来检索并显示来自网络的图像 class Display object def init self self window gtk Window gtk WINDOW TOPLEVEL self window connect
  • 当mapoverlay可见时隐藏mapview ios7

    当 iOS7 中的地图视图顶部有覆盖层时 如何隐藏地图视图 这段代码曾经在 iOS6 中工作 但是当我将我的应用程序升级到 iOS7 时 它停止工作 NSArray views self mapView subviews objectAtI
  • 带有页脚的 Recyclerview 无法删除最后一项

    我在用带页脚的回收视图一切正常 但我无法删除最后一项 假设我们现在列表中有 2 个产品 如果用户删除一个产品 那么 1 个产品将保留在列表中recyclerview那么我无法删除剩余的产品 虽然我有一件商品 但它显示 PACK ID nul
  • C#.Net 中使用 IP 地址和端口号的 TCP/IP 客户端套接字程序

    TCP IP 客户端套接字程序 这里我的主要要求是客户端发送消息 服务器接收消息并存储在 C Net 的数据库表中 使用服务器 IP 地址和端口号 您正在谈论一个简单的服务器 客户端程序 你需要做什么 首先创建一个服务器程序并运行 创建客户
  • 检索文件的全名,按日期过滤

    date datetime 05 19 2014 gci Recurse Select Object FullName LastWriteTime Where Object LastWriteTime ToShortDateString g
  • mod_security:允许没有请求正文的 POST 请求的规则

    我安装了 Apache 2 4 和 mod security 2 9 1 它正在工作 有一些非常基本的规则 我正在尝试发出一个包含一些标头信息的 POST 请求 但请求正文中没有任何内容 该请求是发送给受 mod security 保护的
  • subscribe 的作用是什么?它与 Observable 有何关系?

    我是 Angular 的新手 我遵循的教程有术语 Observable 导师解释了 但我没有完全理解 什么是Observable 以及为什么我们总是要打电话observable subscribe 什么是subscribe 实际上呢 什么是
  • 使用 .NET“异步”API 防止 TIME_WAIT

    我有一个问题 我开发了一个客户端和服务器包装器供我个人使用 但不幸的是由于网络编程知识不足 我在客户端连接期间遇到了 TIME WAIT 问题 我的客户端现在尝试在短时间内与同一主机建立多个连接 我发现其主要原因是因为我试图重用套接字 并且
  • NASM 引导加载程序中的 jmp $

    我试图编写引导加载程序引导装载程序 写的代码是 BITS 16 start mov ax 07C0h Set up 4K stack space after this bootloader add ax 288 4096 512 16 by
  • 在 ASP.NET 应用程序中实现多语言的最佳方式

    多语言应用程序中预计会发生以下事情 行为 为登录用户的语言选择正确的资源 字符串排序应根据用户语言进行 例如 对于瑞典用户 瑞典字母应按顺序排在 z 之后 日期时间格式验证应根据用户的语言进行 例如 fr FR 用户可以输入 dd mm y
  • 有没有办法将数组传递给 python 泛型?

    我正在做一些元编程 我需要一种方法来动态定义类型提示 有没有办法将参数数组传递给类型提示 就像是 Some programatically generated list where I don t know the content unti
  • 函数指针、闭包和 Lambda

    我现在刚刚学习函数指针 当我阅读有关该主题的 K R 章节时 我首先想到的是 嘿 这有点像闭包 我知道这个假设在某种程度上从根本上是错误的 在网上搜索后我没有找到任何对此比较的分析 那么为什么 C 风格的函数指针与闭包或 lambda 有根
  • 为什么“gem”和“sudo gem”有不同的安装目录?

    我记得我用过gem install rails安装 Rails 但今天当我想安装另一个 gem 时 输入 gem install ruby recaptcha 它失败了 说 您没有写入权限 然后我找到了我的gem environment a
  • Angularjs 中的克隆元素

    我需要复制一些输入字段才能处理来自客户端的数据 我已经用 jQuery 完成了http jsfiddle net m7R3f 1 HTML fieldset div class pure g entry div class pure u 1