AngularJs下拉搜索框
- 格式:docx
- 大小:24.78 KB
- 文档页数:5
AngularJs下拉搜索框
AngularJs下拉搜索框
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
input,select{
width: 120px;
}。
AngularJS 使用指南 20210815 江丽娜----e5f4e5b6-6ea3-11ec-9176-7cb59b590d7dangularjs使用指南-20210815-江丽娜Angularjs用户指南作者:江丽娜modal的控制器继承父屏幕的$scope。
modal引入用fromtemplate方式时,返回的是object,所以与使用fromtemplateurl 时返回的promise不同,获取modal的使用应用下列方法。
有棱角的模块(“应用程序”)。
控制器('bindcardaddctrl',函数($scope,$ionicmodal){$scope.modal=$ionicmodal.fromtemplate('',{animation:'slide-in-up'});$scope.openmodal=function(){$scope.modal.show();};});有棱角的模块(“应用程序”)。
指令('banklist',function(){return{restrict:'e',scope:true,然后,在组件的controller中就能使用父画面的$scope了。
Jsonp可以用这种方式在JS中调用。
回调是jsonp的回调接口,必须给出contractno:contractnotxt,fundcode:fundcodetxt,}}). 成功(函数(数据、状态、标题、配置){console.log(\+data.msg);})。
error(function(data,status,headers,config){});这可以在服务器端设置stringcallback=request.getparameter(\);stringbuilderjsonp=newstringbuilder(cal lback);out.print(jsonp.tostring());如果没有服务器,可以创建本地TXT文件以模拟访问。
AngularJS 根据另一个下拉选项(自定义过滤器)下拉选项AngularJS 根据另一个下拉选项(自定义过滤器)下拉选项[英]AngularJS drop down options based on another drop down selection (custom filter)我希望你们能帮助我。
I am trying to filter the drop down selections of a drop down list, based on the value of another drop down list.我试图根据另一个下拉列表的值过滤下拉列表的下拉选项。
I have one list that is my selection of reporting Frequency (Weekly, Monthly etc.), and another list that I would like filtered according to this selection.我有一个列表是我选择的报告频率(每周,每月等),以及我想根据此选择过滤的另一个列表。
The only 2 real filter options must be Weekly and Monthly (the second drop down must be disabled when neither of these are selected).只有2 个实际过滤器选项必须是每周和每月(当选择这两个选项时,必须禁用第二个下拉菜单)。
When the user select Weekly (ReportFrequencyType: 2), the data in the second dropdown must be filtered to display those records matching ReportFrequencySelectionType: 2(which are the days of the week)当用户选择Weekly(ReportFrequencyType:2)时,必须过滤第二个下拉列表中的数据以显示与ReportFrequencySelectionType:2 匹配的记录(这是一周中的几天) Below my code with my attempt to create the filter:我尝试创建过滤器时,在我的代码下面:Note: I have tried variations of the filter, and amongst others, I get the following Error: Unable to get property ‘ReportFrequencySelectionType’of undefined or null reference [object Object]注意:我尝试了过滤器的变体,除此之外,我得到以下错误:无法获取未定义或空引用。
JS实现导航菜单中的⼆级下拉菜单的⼏种⽅式最近整理了, JS 实现导航菜单中的⼆级下拉菜单的三种⽅式,便于项⽬中应⽤。
如何实现导航菜单栏中的⼆级下拉菜单? 我们在淘宝、搜狐等⼤型⽹站上都可以看到使⽤的⼀些⼆级下拉菜单,⽐如下⾯这张图⽚。
但是如何实现类似的图⽚呢?实际上,我们有⾄少三种⽅式来实现,下⾯,我附上代码供⼤家参考。
1.仅使⽤html和css<meta charset="UTF-8"><title>Document</title><style>*{margin:0;padding: 0;list-style: none;text-decoration: none;}#nav{width: 500px;height: 40px;background: #ccc;margin: 0 auto;}ul{background: #aaa}ul li{float:left; display:block; height: 40px; line-height: 40px; padding: 0 20px; position: relative;}ul li:hover{background: #cea;}ul li ul li{float: none;}/*关键⼀:将⼆级菜单设置为display:none;*/ul li ul{position: absolute;top:40px;left: 0; display: none;}ul li ul li:hover{background: red;}/*关键⼆:在划过⼆级菜单从属的⼀级菜单时,设置为display:block;*/ul li:hover ul{display: block;}</style><div id="nav"><ul><li><a href="">⾸页</a></li><li><a href="">汽车</a><ul><li><a href="#">奥迪</a> </li><li><a href="#">道奇</a> </li></ul></li><li><a href="">⼿机</a><ul><li><a href="#">⼩⽶</a> </li><li><a href="#">华为</a> </li></ul></li><li><a href="">联系我们</a></li></ul></div> 我们可以看到,这种⽅法是⽐较好的,它保证了结构与表现的完全分离。
在angular中实现下拉框的两种⽅式ng-repeat和ng-option 1. ng-repeat实现下拉框:select下拉框⾥option组装成下拉框,这⾥利⽤ng-repeat指令来创建实现源码<!DOCTYPE html><html><head><meta charset="UTF-8"><title>AngularJS之下拉框(⽅式⼆)</title><script type="text/javascript"src="../js/angular.min.js"></script><script>var app = angular.module("secondApp",[]);app.controller("secondCon",function($scope){$scope.trees = ["松树","樟树","枫树","枣树","桃树"];});</script></head><body><div ng-app="secondApp"ng-controller="secondCon"><select style="width: 200px;"><option ng-repeat="tree in trees">{{tree}}</option></select></div></body></html>2.ng-option指令使⽤很简单,只需要绑定两个属性:⼀个是ng-model⽤于获取选定的值;另⼀个是ng-options⽤于确定下拉列表的元素数组。
angularjs中codeselect介绍
CodeSelect是一个AngularJS中的指令,用于在用户输入时显示代码提示和自动完成功能。
它可以帮助用户更轻松地输入代码,并提供实时错误检查和建议。
CodeSelect指令通常与一个输入框结合使用,用户可以在输入框中输入代码并看到相关的代码提示和自动完成建议。
这些建议可以来自不同的来源,比如本地代码库、远程API或其他代码服务。
CodeSelect通过监听用户的输入并根据输入内容进行代码匹配来提供建议。
它可以根据输入的上下文、语言和代码结构来提供更准确的建议。
此外,CodeSelect还可以使用一些键盘快捷键来帮助用户更快地输入代码,比如Tab键用于快速选择建议。
CodeSelect的优点包括:
1. 提高代码输入的效率:CodeSelect可以根据用户的输入提供实时的代码建议,帮助用户更快地输入代码。
2. 提供代码的错误检查和建议:CodeSelect可以检查用户输入的代码中的错误,并提供相关的修复建议。
3. 可扩展性强:CodeSelect可以从不同的源获取代码建议,并且可以自定义代码提示的规则和提示内容。
4. 与AngularJS无缝集成:CodeSelect是基于AngularJS的一个指令,可以很容易地与AngularJS的其他功能和指令进行集成。
JSSelect下拉框(⽀持输⼊模糊查询)本⽂实例为⼤家分享了⽀持输⼊模糊查询的Select下拉框,供⼤家参考,具体内容如下<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title><Script Language="Javascript">function SelectValue(obj){document.all.box2.value = obj.options[obj.selectedIndex].text;}var j = 0;function InputValue(obj){var n = 1;var tmpObj;var src = document.all.SelectOption;var msg = document.all.msg;if(event.keyCode != 40 && event.keyCode != 38 && event.keyCode != 13){if(obj.value!=""){msg.style.display="";msg.innerHTML="";if(msg.hasChildNodes()){msg.childNodes[0].parentNode.removeChild(msg.childNodes[0]);}for (var i=0;i<src.length;i++){var selValue = document.createElement("div");var selText = document.createElement("div");selText.value = src(i).value;selText.innerHTML = src(i).text;if (src(i).text.toLowerCase().indexOf(obj.value.toLowerCase())==0){selText.setAttribute("id","selText"+n);selText.onmouseover=function (){this.style.backgroundColor='#003399';this.style.color ='#ffffff';}selText.onmouseout=function (){this.style.backgroundColor='#ffffff';this.style.color ='#000000';}selText.onclick=function (){document.all.box2.value = this.innerHTML;msg.style.display="none";document.getElementById("txtSection").value=this.value;}msg.appendChild(selText);n++;}}}else {document.all.msg.style.display="none";}}else {//press down keyif(event.keyCode==40){j++;for (var i=0; i<src.length; i++){tmpObj = document.getElementById("selText"+i);if(tmpObj != null){tmpObj.style.backgroundColor='#ffffff';tmpObj.style.color ='#000000';}}tmpObj = document.getElementById("selText"+j);if(tmpObj != null){tmpObj.style.backgroundColor='#003399';tmpObj.style.color ='#ffffff';}else{j = 0;}}//press up keyif (event.keyCode==38){j--;for (var i=0; i<src.length; i++){tmpObj = document.getElementById("selText"+i);if(tmpObj != null){tmpObj.style.backgroundColor='#ffffff';tmpObj.style.color ='#000000';}}tmpObj = document.getElementById("selText"+j);if(tmpObj != null){tmpObj.style.backgroundColor='#003399';tmpObj.style.color ='#ffffff';}else{j = 2;}}//press enter keyif (event.keyCode==13){tmpObj = document.getElementById("selText"+j);document.all.box2.value = tmpObj.innerHTML;msg.style.display="none";document.getElementById("txtSection").value=tmpObj.value;}}}function SelMatch(src){var currSel = document.all.box2.value;for (var i=0;i<src.length;i++){if (src(i).text==currSel){src.options(i).selected = true;}}}function NoMsg(){if(document.activeElement.id=="msg")return false;elsedocument.all.msg.style.display='none';}</Script></head><body><TABLE border=0 cellPadding=1 cellSpacing=0 width="100%"><TR><TD width="24%"><font face="Arial" size="2">查询</font></TD><TD COLSPAN=3 width="76%"><div style="position:relative;"><span style="margin-left:230px;width:18px;overflow:hidden;"><select style="HEIGHT: 22px; WIDTH: 250px; margin-left:-232px;" onchange="SelectValue(this)" onclick="SelMatch(this)" id="SelectOption" name="SelectOption" ><OPTION >ALL</OPTION><OPTION >管理者1</OPTION><OPTION >管理者2</OPTION><OPTION >管理者3</OPTION><OPTION >业务员3</OPTION><OPTION >业务员3</OPTION><OPTION >13</OPTION><OPTION >103</OPTION></select></span><input name="box2" id="box2" style="width:230px;position:absolute;left:0px;" onkeyup="InputValue(this)" onblur="NoMsg()" onfocus="this.select();InputValue(this)" value="" > <div id="msg" style="border:1px solid green; font-size :14PX;white-space:nowrap;overflow:hidden;width:230px;position:absolute;left:0px;top:20px;display:none"></div></div><Input Type="Hidden" Name="txtSection" id="txtSection"></TD></TR></TABLE></body></html>以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
JS插件dropload下拉刷新、上拉加载使⽤⼩结前端展⽰php代码;<?phpheader("Content-type: text/html; charset=utf-8");include_once("./config.php");// 初始显⽰界⾯数据获取$data = file_get_contents(URL."/interfaces/page.php?paging=1");// echo $data;die;$data = json_decode($data);// var_dump($data);die;><!DOCTYPE html><html lang="zh-cn"><head><meta name="viewport" content="initial-scale=1, user-scalable=0, minimal-ui" charset="UTF-8"><title>加载顶部、底部</title><!-- 页⾯布局 --><link rel="stylesheet" type="text/css" href="./css/display.css" rel="external nofollow" ><!-- 框架布局 --><link rel="stylesheet" href="./css/dropload.css" rel="external nofollow" ></head><body><div class="header"><h1>就当我是新闻页吧</h1></div><div class="content"><div class="lists"><!-- lists在外避免造成多次循环输出 --><?php for ($i=0; $i < count($data->data) ; $i++) { ?><a class="item" href="#" rel="external nofollow" ><img src="./img/pic.jpg" alt=""><h3>hehe</h3><span class="date"><?php echo $data->data[$i]->id; ?></span></a><?php } ?></div></div><div class="footer"><a href="#1" rel="external nofollow" class="item">测试菜单</a><a href="#2" rel="external nofollow" class="item">只做展⽰</a><a href="#3" rel="external nofollow" class="item">⽆功能</a><a href="#4" rel="external nofollow" class="item">不⽤点</a></div><!-- jQuery1.7以上或者 Zepto ⼆选⼀,不要同时都引⽤ --><script src="./js/jquery.min.js"></script><script src="./js/dropload.min.js"></script><script>$(function(){var paging = 1;//页码数// dropload函数接⼝设置$('.content').dropload({scrollArea : window,// 下拉刷新模块显⽰内容domUp : {domClass : 'dropload-up',// 下拉过程显⽰内容domRefresh : '<div class="dropload-refresh">↓下拉过程显⽰内容-下拉刷新-⾃定义内容</div>',// 下拉到⼀定程度显⽰提⽰内容domUpdate : '<div class="dropload-update">↑释放更新-⾃定义内容</div>',// 释放后显⽰内容domLoad : '<div class="dropload-load"><span class="loading"></span>加载中-⾃定义内容...</div>'},domDown : {domClass : 'dropload-down',// 滑动到底部显⽰内容domRefresh : '<div class="dropload-refresh">↑上拉加载更多-⾃定义内容</div>',// 内容加载过程中显⽰内容domLoad : '<div class="dropload-load"><span class="loading"></span>加载中-⾃定义内容...</div>',// 没有更多内容-显⽰提⽰domNoData : '<div class="dropload-noData">暂⽆数据-⾃定义内容</div>'},// 1 . 下拉刷新回调函数loadUpFn : function(me){$.ajax({type: 'GET',// 每次获取最新的数据即可url: './interfaces/page.php?paging=1',dataType: 'json',success: function(data){// $.ajax()虽然接⼝提供json字符串,但接收到的是 json对象// alert(typeof(data));var result = '';// 循环拼接显⽰内容 DOM// 刷新获取多少数据,显⽰多少使⽤html()重置 lists DOMfor(var i = 0; i < data.data.length; i++){result += '<a class="item opacity" href="'+data.data[i].link+'" rel="external nofollow" rel="external nofollow" >' +'<img src="'+data.data[i].pic+'" alt="">'+'<h3>hehe</h3>'+'<span class="date">'+data.data[i].id+'</span>'+'</a>';}// 为了测试,延迟1秒加载setTimeout(function(){// 插⼊加载使⽤ html() 重置 DOM$('.lists').html(result);// 每次数据加载完,必须重置me.resetload();},1000);},// 加载出错error: function(xhr, type){alert('Ajax error!');// 即使加载出错,也得重置me.resetload();}});},// 2 . 上拉加载更多回调函数loadDownFn : function(me){paging++; // 每次请求,页码加1$.ajax({type: 'GET',url: './interfaces/page.php?paging='+paging,dataType: 'json',success: function(data){// data = JSON.parse(data);var result = '';// 选择需要显⽰的数据拼接 DOMfor(var i = 0; i < data.data.length; i++){result += '<a class="item opacity" href="'+data.data[i].link+'" rel="external nofollow" rel="external nofollow" >' +'<img src="'+data.data[i].pic+'" alt="">'+'<h3>heheh</h3>'+'<span class="date">'+data.data[i].id+'</span>'+'</a>';if(data.data.length<15){// 再往下已经没有数据// 锁定me.lock();// 显⽰⽆数据me.noData();break;}}// 为了测试,延迟1秒加载setTimeout(function(){// 加载插⼊到原有 DOM 之后$('.lists').append(result);// 每次数据加载完,必须重置me.resetload();},1000);},// 加载出错error: function(xhr, type){alert('Ajax error!');// 即使加载出错,也得重置me.resetload();}});},threshold : 50 // 什么作⽤});});</script></body></html>后端分页接⼝<?phpheader("Content-type: text/html; charset=utf-8");// 包含数据库配置信息include_once('../config.php');// 接收数据$paging = isset($_REQUEST['paging'])?$_REQUEST['paging']:'';// $paging = 1;$num = 15;//每页显⽰记录条数$start_page = $num*($paging-1);// 每页第⼀条记录编号// ⽤于返回数据$return = array();$data = array();/* mysqli ⾯向对象编程⽅式 */// 1 . 创建数据库链接$conn = new mysqli($servername,$username,$password,$database);if ($conn->connect_error) {die("连接失败 : ".$conn->connect_error);}// echo "链接成功";// 设置字符集(以防出错每次都要写)$conn->query("SET NAMES utf8");// 2 . 数据操作$sql = "SELECT * FROM mission_news order by id desc limit $start_page , $num;";// $sql = "SELECT * FROM mission_news order by id desc limit 0 , 15;";// 3 . 执⾏⼀条语句$ret = $conn->query($sql);// 4 . 循环获取每条记录if ($ret->num_rows > 0) {while ($row = $ret->fetch_assoc()) { //将每条记录以数组形式返回// var_dump($row);// echo "id = ".$row['id']." mid = ".$row['mid']." context = ".$row['context']."<br>";$tmp = array();//临时数组整合信息$tmp['id'] = $row['id'];$tmp['mid'] = $row['mid'];$tmp['context'] = $row['context'];$tmp['turn'] = $row['turn'];$tmp['created'] = $row['created'];// 临时数组拼接到返回的数组中$data[] = $tmp; // ⾃增}// 拼接返回数组$return['result'] = 1;$return['data'] = $data;}// 5 . 关闭数据库$conn->close();// 6 . 编码为json字符串返回echo json_encode($return);>以上所述是⼩编给⼤家介绍的JS 插件dropload下拉刷新、上拉加载使⽤⼩结,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
AngularJS进阶(五)Angular实现下拉菜单多选Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:AngularJS Dropdown MultiselectThis directive gives you a Bootstrap Dropdown with the power of AngularJS directives. FeaturesBased on Bootstrap's dropdown.jQuery is not necessary.Seperated your data and the selection data. no modification to the data made.Built-in search.Complete control on the selected items model to fit it to your requirements.Two view options: normal list and checkboxes.Pre-selected values.Limit selection count.Grouping items by property.Callback events.DemoDependenciesrequired: AngularJS >= 1.2, Lodash >= 2, Bootstrap >= 3.0Make sure to add the dependencies before the directive's js file.Note: Bootstrap JS file is not needed for the directive, it just uses the CSS file.InstallDownload the filesUsing bower:Just run bower install angularjs-dropdown-multiselectManually: You can download the .js file directly or clone this repository.Include the file in your app<script type="text/javascript" src="angularjs-dropdown-multiselect.js"></script>.You can also use the minfined version (angularjs-dropdown-multiselect.min.js).Include the module in angular (i.e. in app.js) - angularjs-dropdown-multiselectUsage and Documentation由以上英文文档可以得知,若使用angularjs-dropdown-multiselect,首先需要在index.html中引入AngularJS >= 1.2, Lodash >= 2, Bootstrap >= 3.0,如下所示:<script src="js/angularjs-dropdown-multiselect.js"></script><script src="js/lodash.min.js"></script>并在app.js模块中添加依赖angularjs-dropdown-multiselect。
Angular.JS中select下拉框设置value的⽅法前⾔本⽂主要给⼤家介绍的是关于Angular.JS中select下拉框设置value的相关内容,⾮常出来供⼤家参考学习,下⾯来⼀起看看详细的介绍:最近在系统中增加⼀个查询的筛选条件,通过下拉框选取,⽤的是Angular常见的ng-options 指令:<select id="selectDetectUnit" class="form-control" ng-model="detectUnits" ng-options=" for detectUnit in detectQueryFilters.detectUnits"> <option value="">全部</option></select>但是有个问题,ng-options指令仅仅设置了下拉框选项的text,⽽不是value,打印下拉框的内容如下:<option value="" class="">全部</option><option value="0">董浜惠健净菜</option><option value="1">古⾥绿品公司</option><option value="2">曹家桥物流公司</option><option value="3">董浜农服中⼼</option>value部分是⾃动设置的0,1,2,3,并不是实际的id。
那么,Angualr js 怎样设置下拉框的value呢?⽹上查了⼀遍,结合⾃⼰的⼀点探索,找到了答案,类似于表格记录的⽤法:<select id="selectDetectUnit" class="form-control" ng-model="filter.detectUnitId" ><option value="">全部</option><option ng-repeat="detectUnit in detectQueryFilters.detectUnits" value="{{detectUnit.id}}">{{}}</option></select>打印下拉框的内容如下:<option value="">全部</option><!-- ngRepeat: detectUnit in detectQueryFilters.detectUnits --><option ng-repeat="detectUnit in detectQueryFilters.detectUnits" value="160101" class="ng-scope ng-binding">董浜惠健净菜</option><option ng-repeat="detectUnit in detectQueryFilters.detectUnits" value="160102" class="ng-scope ng-binding">古⾥绿品公司</option><option ng-repeat="detectUnit in detectQueryFilters.detectUnits" value="160103" class="ng-scope ng-binding">曹家桥物流公司</option><option ng-repeat="detectUnit in detectQueryFilters.detectUnits" value="160104" class="ng-scope ng-binding">董浜农服中⼼</option><option ng-repeat="detectUnit in detectQueryFilters.detectUnits" value="160105" class="ng-scope ng-binding">港南村7组</option>虽然option中多了⼀些属性,看着有点复杂,不过value总算有了正确的值。
AngularJs下拉搜索框
∙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="/libs/angular.js/1.5.0-b eta.0/angular.min.js"></script>
<script src="/libs/jquery/2.1.4/jquer y.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中的数值赋值给$sc ope.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>。