AngularJs下拉搜索框
来源:互联网 发布:网络存储一体机系统 编辑:程序博客网 时间:2024/05/22 11:47
AngularJs是基于MVC(Model(模型)-View(视图)-Controller(控制器))思想的,在AngularJs应用中,视图就是文档对象模型(DOM),控制器是JavaScript类,模型中的数据就是存储在对象中的属性;视图从模型中获取数据,然后展示给用户,当用户点击或者输入与应用进行交互的时候,控制器将会作出响应并修改模型中的数据,模型会通过视图数据发生了变更,这样就可以刷新其中显示的内容了;Controller把数据绑定到scope,通过scope给了Model,Model再通过scope给了View,scope相当于Model。
那么,AngularJs与jQuery有什么区别呢?
jquery主要是对DOM进行处理的,而AngularJs的主要是对于数据进行处理的,就change事件来说,如果jQuery不对DOM进行操作,是不会实现的,而angularjs不需要对DOM进行操作,利用双向数据绑定就可以实现;
不得不说angularjs的mvc思想很强大,对应偏重于数据处理的项目还是非常有优势的。
AngularJs下拉搜索框的一个demo<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>AngularJs下拉搜索框</title> <script src="http://apps.bdimg.com/libs/angular.js/1.5.0-beta.0/angular.min.js"></script> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <style> input,select{ width: 120px; } </style></head><body><div ng-app="myApp" ng-controller="myCtrl"> <input type="text" ng-change="changeKeyValue(textValue)" ng-model="textValue" value="{{textValue}}" ng-click="test()"> <div ng-hide="hide"> <select ng-change="change(x)" ng-model="x" multiple> <option ng-repeat="data in datas">{{data}}</option> </select> </div></div><script> var app = angular.module("myApp",[]); app.controller("myCtrl", function ($scope) { //初始化一些数据 $scope.datas = ["key4","xyz","key3","xxxx","key2","value2","key1","value1"]; //下拉框中的数据 $scope.copyDatas = $scope.datas; //下拉框中的数值拷贝一份 $scope.hide = true; //显示隐藏下拉框 $scope.textValue = ""; //文本框数值 //将下拉选的数据值赋值给文本框,并且隐藏下拉框 $scope.change = function (x) { $scope.hide = true; //下拉框隐藏 $scope.textValue = x; //文本框中的值 }; //获取的数据值与下拉选逐个比较,如果包含则放在临时变量副本,并用临时变量副本替换下拉选原先的数值,如果数据为空或找不到,就用初始下拉选项副本替换 $scope.changeKeyValue = function (v) { var newData = []; //创建一个临时下拉框副本 angular.forEach($scope.datas, function (data, index, array) { //如果 if (data.indexOf(v)>=0){ newData.unshift(data); } }); $scope.datas = newData; //newData中的数值赋值给$scope.datas $scope.hide = false; //文本框显示 //如果不包含或者输入框中的值为空时,把拷贝出的$scope.copyDatas赋值给$scope.datas if ($scope.datas.length==0||v==""){ $scope.datas = $scope.copyDatas; } }; //输入框中的值必须是下拉选择框中的数值 $scope.test = function () { if($scope.datas.length>1){ $scope.hide = false; } }; console.log($scope.datas.length); })</script></body></html>
1 0
- angularjs 下拉搜索框
- AngularJs下拉搜索框
- angularjs-搜索框下拉列表
- angularJs-$http实现百度搜索时的动态下拉框
- 搜索下拉框
- 下拉框支持搜索
- 搜索下拉框级联
- 搜索下拉框
- yii2sphinx下拉框搜索
- 搜索下拉框
- 下拉框带搜索
- 下拉搜索框
- angularjs material 实现搜索框
- angularjs 多选下拉框 控件angularjs ui-select2
- angularjs搜索
- Angularjs指令学习1-下拉框
- AngularJS 下拉框的基础应用
- AngularJS下拉框的高级应用
- cocoapods使用自定义库(库中包含第三方库)
- angularjs的使用(1)
- 内存分配策略
- json dumps方法 与 loads方法比较
- CSU 1120 病毒
- AngularJs下拉搜索框
- linux 不同用户间文件复制
- Uva11762 Race to 1
- spine性能优化篇
- 冒泡排序+增强版for循环输出
- 浅谈Java转义符\\|
- uibutton 取消点击效果 btton.adjustsImageWhenHighlighted = NO;
- TensorFlow高效读取数据的方法
- Mac上如何完美的转换epub至mobi供kindle观看