全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

AngularJS实现动态添加Option的方法

本文实例讲述了AngularJS实现动态添加Option的方法。分享给大家供大家参考,具体如下:

项目中后台管理设置,前台下拉动态添加option

<!DOCTYPE html>
<html lang="zh-CN">
 <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="bootstrap.min.css" rel="external nofollow" >
  <script src="jQuery.min.js"></script>
  <script src="angular.js"></script>
  <script src="angular-animate.js"></script>
  <script src="bootstrap.min.js"></script>
  <script type="text/JavaScript">
    var app = angular.module('myapp', []);
    app.controller('DemoCtrl', function ($scope) {
      $scope.optionContainer = [];
      var realOptions = [];
      var randomCode = function() {
        var chars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKMNOPQRSTUVWXYZ1234567890";
        var randomChars = "";
        for (var i = 0; i < 10; i++) {
          var index = Math.floor(Math.random() * chars.length);
          randomChars = randomChars + chars.charAt(i);
        }
        return randomChars;
      }
      var getIndex = function(array, id) {
        var tmpItem = {};
        angular.forEach(array, function(item) {
          if (item.id == id) {
            tmpItem = item;
          }
        });
        return array.indexOf(tmpItem);
      }
      $scope.add = function() {
        var optionIndex = randomCode();
        $scope.optionContainer.push({
         id : optionIndex,
         readOnly : false,
         content : '',
         showConfirm : true
        })
        console.log($scope.optionContainer)
      }
      $scope.confirm = function(content, id) {
        if (content == '') {
          return;
        }
        var flag = false;
        angular.forEach(realOptions, function(item) {
          if (item == content) {
            flag = true;
          }
        });
        if (flag) {
          console.log('already exist!');
          return;
        }
        var tmpIdIndex = getIndex($scope.optionContainer, id);
        realOptions.push(content);
        $scope.optionContainer[tmpIdIndex].showConfirm = false;
        $scope.optionContainer[tmpIdIndex].readOnly = true;
      }
      $scope.deleteFunc = function(id) {
        var tmpIdIndex = getIndex($scope.optionContainer, id);
        if ($scope.optionContainer[tmpIdIndex].showConfirm == false) {
          tmpIndex = realOptions.indexOf($scope.optionContainer[tmpIdIndex].content);
          realOptions.splice(tmpIndex, 1);
        }
        $scope.optionContainer.splice(tmpIdIndex, 1);
      }
    });
  </script>
 </head>
 <body ng-app="myapp">
  <div ng-controller="DemoCtrl">
    <div>
      <div class="Container">
       <h1>create options</h1>
      </div>
      <div>
        <div>
          <table class="table table-striped table-hover">
            <thead>
              <tr>
                <th>option</th>
              </tr>
            </thead>
            <tbody>
             <tr ng-repeat="item in optionContainer" class="row">
               <td class="col-md-8" style="width:100%;">
               <input type="text" ng-model="item.content" ng-readonly="item.readOnly"/></td>
               <td class="col-md-2">
                <button type="button" class="btn btn-success btn-xs" ng-click="confirm(item.content, item.id)" ng-show="item.showConfirm">Confirm
                </button>
               </td>
               <td class="col-md-2">
                <button type="button" class="btn btn-success btn-xs" ng-click="deleteFunc(item.id)">Delete
                </button>
               </td>
             </tr>
            </tbody>
          </table>
        </div>
        <a class="btn btn-success btn-xs" ng-click="add()">Add</a>
      </div>
    </div>
  </div>
 </body>
</html>

运行效果图如下:

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》

希望本文所述对大家AngularJS程序设计有所帮助。


# AngularJS  # 动态添加  # Option  # AngularJS动态菜单操作指令  # angularjs+bootstrap菜单的使用示例代码  # AngularJS实现树形结构(ztree)菜单示例代码  # 实例详解AngularJS实现无限级联动菜单  # AngularJS自定义指令之复制指令实现方法  # AngularJS使用ng-class动态增减class样式的方法示例  # AngularJS全局警告框实现方法示例  # AngularJS+bootstrap实现动态选择商品功能示例  # AngularJS自定义指令实现面包屑功能完整实例  # AngularJS使用拦截器实现的loading功能完整实例  # AngularJS折叠菜单实现方法示例  # 进阶  # 相关内容  # 感兴趣  # 给大家  # 更多关于  # 所述  # 程序设计  # 后台管理  # 操作技巧  # 讲述了  # script  # nofollow  # external  # src  # animate  # angular  # jQuery  # css  # rel  # link 


相关文章: 如何有效防御Web建站篡改攻击?  如何快速生成橙子建站落地页链接?  微信小程序 input输入框控件详解及实例(多种示例)  建站之星北京办公室:智能建站系统与小程序生成方案解析  公司网站设计制作厂家,怎么创建自己的一个网站?  如何在橙子建站中快速调整背景颜色?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  网站制作模板下载什么软件,ppt模板免费下载网站?  建站之星后台管理:高效配置与模板优化提升用户体验  ,交易猫的商品怎么发布到网站上去?  个人网站制作流程图片大全,个人网站如何注销?  建站主机是否属于云主机类型?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  ,柠檬视频怎样兑换vip?  成都网站制作报价公司,成都工业用气开户费用?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  ,sp开头的版面叫什么?  如何通过万网虚拟主机快速搭建网站?  制作销售网站教学视频,销售网站有哪些?  如何高效生成建站之星成品网站源码?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  广平建站公司哪家专业可靠?如何选择?  宁波自助建站系统如何快速打造专业企业网站?  如何快速搭建高效WAP手机网站?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  建站之星如何修改网站生成路径?  北京专业网站制作设计师招聘,北京白云观官方网站?  seo网站制作优化,网站SEO优化步骤有哪些?  如何解决ASP生成WAP建站中文乱码问题?  制作网站的基本流程,设计网站的软件是什么?  行程制作网站有哪些,第三方机票电子行程单怎么开?  如何破解联通资金短缺导致的基站建设难题?  如何通过虚拟主机空间快速建站?  高防服务器:AI智能防御DDoS攻击与数据安全保障  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站与域名管理如何高效结合?  建站主机选购指南:核心配置与性价比推荐解析  如何快速启动建站代理加盟业务?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  如何配置支付宝与微信支付功能?  大连 网站制作,大连天途有线官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。