angularjs小练习(分别通过ng-repeat和ng-option动态生成select下拉框)
本次做一个简单的关于动态生成select的练习
在实现上有两种方式:
其一、通过ng-repeat来实现
其二、通过ng-option来实现
在页面效果上,两种实现的效果都一样
但是在数据选择的数据从操作上有所不同
ng-repeat选中的是其option对应的value值
ng-option选择的是其对应绑定数据的一个object对象
在实际应用中建议采用ng-option实现
代码实例:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body ng-app="myApp">
<div ng-controller="CityController">
<div style="margin-bottom: 40px;">
<h1>通过ng-options实现</h1>
<select ng-model="city" id="selectCity1"
ng-options="city1.name for city1 in cities">
<option value="">请选择</option>
</select>
所选择的城市信息: {{ city }}
</div>
<div style="margin-bottom: 40px;">
<h1>通过ng-repeat实现</h1>
<select ng-model="city2" id="selectCity2">
<option value="" selected="selected">请选择</option>
<option ng-repeat="city in cities" value="{{city.id}}">{{city.name}}</option>
</select>
所选择的城市ID: {{ city2 }}
</div>
<div>
<input type="text" ng-model="newCityName" placeholder="请输入新增城市的名称" />
<input type="button" ng-click="addCity()" value="新增城市" />
</div>
</div>
</body>
</html>
<script src="../JS/angular.js"></script>
<script type="text/javascript">
var app = angular.module("myApp", []);
app.controller("CityController", function ($scope) {
//// 初始化城市数据
$scope.cities = [
{ name: '成都', id: 1 },
{ name: '南充', id: 2 },
{ name: '绵阳', id: 3 },
{ name: '达州', id: 4 },
{ name: '泸州', id: 5 }
]; //// 新增一个城市信息
$scope.addCity = function () {
if ($scope.newCityName) {
$scope.cities.push({ name: $scope.newCityName, id: $scope.getCityMaxId() + 1 });
}
} //// 获取已有城市列表中城市ID最大值
$scope.getCityMaxId = function () {
var cityIdArry = new Array();
for (var i in $scope.cities) {
cityIdArry.push($scope.cities[i].id);
}
cityIdArry.sort(function (num1, num2) {
return num1 - num2;
});
return cityIdArry[cityIdArry.length - 1];
};
});
</script>
angularjs小练习(分别通过ng-repeat和ng-option动态生成select下拉框)的更多相关文章
- 将select的默认小三角替换成别的图片,且实现点击图片出现下拉框选择option
最近做项目,要求修改select下拉框的默认三角样式,因为它在不同浏览器的样式不同且有点丑,找找网上也没什么详细修改方法,我就总结一下自己的吧. 目标是做成下图效果: 图一:将默认小三角换成红圈的三角 ...
- 【经验】angularjs 实现带查找筛选功能的select下拉框
一.背景 对于select的下拉列表,像国家选择这样的功能,全世界那么多国家,一直拉滚动条多辛苦,眼睛也要盯着找,累!so,为优化用户体验,带查找功能的下拉框是非常非常有必要的.都知道jquery里有 ...
- 微信小程序手动实现select下拉框选择
在小程序中没有像h5中的下拉 标签的 picker又满足部了,那就自己动手写 <view class='list-msg'> <view class='list-msg1'> ...
- 微信小程序 select 下拉框组件
一.源码地址 https://github.com/imxiaoer/WeChatMiniSelect 二.效果图 录屏图片质量较差,所以大家会看到残影(捂脸) 三.组件源码 1. select.wx ...
- select下拉框小DemoA
<html> <head> <meta charset="utf-8"> <script src="jquery-1.9.1.m ...
- iview select下拉框的蜜汁小坑
前言 最近使用iview的select下拉选择器,遇到一个很神奇的问题:选中下拉框里面的一个值,但是再去点下拉框的时候就只剩刚才选中的数据了.感觉应该是插件把刚才选中的数据当做的搜索条件,所以需要做的 ...
- angularJS select下拉框检测改变
html:(已引入amazeUI) <div style="width:70px;display:inline-block;"> <form class=&quo ...
- table样式的下拉框(angularjs)
前言 虽然使用的技术比较老了,但是思想却还是适用于现在的vue等框架. 一:实现的样式 二:实现包括的功能点 1:下拉框内容是表格,类似于一个弹窗 表格内容最多六行,超出的显示滚动条,表头固定,可滚动 ...
- angularjs select下拉搜索框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- JS判断是否有js、css文件的引入方法
在页面头部有个 <script type="text/javascript" src="abc.js"></script> <li ...
- java动态生成验证码图片
package cn.lijun.checkimg; import java.awt.image.BufferedImage;import java.io.BufferedReader; import ...
- LOJ-10106(有向图欧拉回路的判断)
题目链接:传送门 思路: (1)将每个单词视为有向路径,单词的起始字母是起始节点,末尾字母是终止节点,然后找由字母建立的有向图 是否是欧拉图或者半欧拉图. (2)先用并查集判断是否连通,再判断入度与出 ...
- qhfl-3 Course模块
课程模块,包括免费课程以及专题课程两个,主要是课程的展示,点击课程进入课程详细页面 根据功能设计表结构 为了方便,每张表在数据库中添加了中文名 from django.db import models ...
- POI SXSSFWorkbook 读取模板 存在公式解决
package com.baoqilai.base.service.export; import java.io.File; import java.io.FileInputStream; impor ...
- azkaban disable 停用部分工作流
在使用azkaban作为调度工具的时候,难免遇到只需要跑工作流某部分的情况,这时需要用到停用部分工作的操作, 如图:
- Word中带圈数字
写论文时常常要求输入带圈数字,先在Word中输入代码,选中代码后按Alt+X(然后再粘贴到Excel中) 符号 代码⓪ 24ea① 2460② 2461③ 2462④ 2463⑤ 2464⑥ 2465 ...
- 使用CGlib出现java.lang.NoClassDefFoundError: org/objectweb/asm/Type异常
在学习使用CGlib生成动态代理对象,项目的源代码也很简单: package proxy; import java.lang.reflect.Method; import net.sf.cglib.p ...
- Codeforces Round #499 (Div. 2) C. Fly(数学+思维模拟)
C. Fly time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- Baidu WebUploader 前端文件上传组件的使用
简介 WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流I ...