国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

AngularJs頁(yè)面篩選標(biāo)簽小功能

2019-11-20 09:21:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

AngularJS 簡(jiǎn)介

AngularJS 是一個(gè) JavaScript 框架。它可通過(guò) <script> 標(biāo)簽添加到 HTML 頁(yè)面。

AngularJS 通過(guò) 指令 擴(kuò)展了 HTML,且通過(guò) 表達(dá)式 綁定數(shù)據(jù)到 HTML。

AngularJS 是一個(gè) JavaScript 框架

AngularJS 是一個(gè) JavaScript 框架。它是一個(gè)以 JavaScript 編寫(xiě)的庫(kù)。

AngularJS 是以一個(gè) JavaScript 文件形式發(fā)布的,可通過(guò) script 標(biāo)簽添加到網(wǎng)頁(yè)中:

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>

下面都是為本文介紹angularjs頁(yè)面篩選標(biāo)簽功能做鋪墊的,重點(diǎn)內(nèi)容請(qǐng)看下面介紹:

頁(yè)面html:

<div class="bar bar-calm bar-header"><div class="title">新聞分類(lèi)</div><button class="button button-balanced cleanbtn" ng-click="clean()">清空</button></div><ion-content class="content" scroll="false"><ul class="filter-item"><li><p>國(guó)家地區(qū):</p><ul><li ng-repeat="RegionsName in category.Regions" ng-click="onClick(RegionsName.name,RegionsName.checked)"><input type="checkbox" value="RegionsName.name" ng-checked="RegionsName.checked"/><span>{{RegionsName.cn}}</span></li></ul></li><li><p>資本:</p><ul><li ng-repeat="CapitalsName in category.Capitals" ng-click="onClick(CapitalsName.name,CapitalsName.checked)"><input type="checkbox" value="CapitalsName.name" ng-checked="CapitalsName.checked"/><span>{{CapitalsName.cn}}</span></li></ul></li><li><p>領(lǐng)域:</p><ul><li ng-repeat="ScopesName in category.Scopes" ng-click="onClick(ScopesName.name,ScopesName.checked)"><input type="checkbox" value="ScopesName.name" ng-checked="ScopesName.checked"/><span>{{ScopesName.cn}}</span></li></ul></li><li><p>經(jīng)濟(jì)資料:</p><ul><li ng-repeat="EconomicData in category.EconomicData" ng-click="onClick(EconomicData.name,EconomicData.checked)"><input type="checkbox" value="EconomicData.name" ng-checked="EconomicData.checked"/><span>{{EconomicData.cn}}</span></li></ul></li><li><p>中央銀行數(shù)據(jù):</p><ul><li ng-repeat="CentralBank in category.CentralBank" ng-click="onClick(CentralBank.name,CentralBank.checked)"><input type="checkbox" value="CentralBank.name" ng-checked="CentralBank.checked"/><span>{{CentralBank.cn}}</span></li></ul></li></ul><button class="button button-calm confirmbtn" ng-click="infosRef()">確認(rèn)</button> 

頁(yè)面構(gòu)建:  

總共分為5個(gè)大項(xiàng),通過(guò)ng-repeat生成每個(gè)大項(xiàng)下的小分類(lèi)標(biāo)簽。

需求分析:用戶(hù)點(diǎn)擊每一個(gè)篩選標(biāo)簽,將其所選的標(biāo)簽名稱(chēng)加入一個(gè)數(shù)組中,并將該數(shù)組發(fā)送到后臺(tái)供后臺(tái)程序員篩選。

js代碼:

//新聞篩選數(shù)據(jù)分類(lèi)(模擬數(shù)據(jù))$scope.category={Regions:[{name:"Regions_China",cn:"中國(guó)",checked:false},{name:"Regions_UnitedStates",cn:"美國(guó)",checked:false},{name:"Regions_UnitedKingdom",cn:"英國(guó)",checked:false},{name:"Regions_Eurozone",cn:"歐洲",checked:false},{name:"Regions_Japan",cn:"日本",checked:false},{name:"Regions_Canada",cn:"加拿大",checked:false},{name:"Regions_Australia",cn:"澳大利亞",checked:false},{name:"Regions_Switzerland",cn:"瑞士",checked:false},{name:"Regions_Others",cn:"其他",checked:false}],Capitals:[{name:"Capitals_ForeignExchange",cn:"外匯",checked:false},{name:"Capitals_Stocks",cn:"公債",checked:false},{name:"Capitals_Commodities",cn:"商品",checked:false},{name:"Capitals_BondsBonds",cn:"品牌",checked:false}],Scopes:[{name:"Scopes_Macroscopic",cn:"整體",checked:false},{name:"Scopes_Industrial",cn:"工業(yè)",checked:false},{name:"Scopes_Company",cn:"公司",checked:false}],EconomicData:[{name:"EconomicData_Yes",cn:"經(jīng)濟(jì)資料",checked:false}],CentralBank:[{name:"CentralBank_Yes",cn:"中央銀行數(shù)據(jù)",checked:false}]};//遍歷數(shù)據(jù)查找傳入name下同名的對(duì)象(用來(lái)找出用戶(hù)點(diǎn)擊的那個(gè)在模擬數(shù)據(jù)中的對(duì)象位置)var EachList=(name)=>{let category=$scope.category;for( var k in category){for(var j in category[k]){if(category[k][j].name==name){var sameName=category[k][j];sameName.checked=true;return sameName}}}};//該方法主要是在頁(yè)面一開(kāi)始會(huì)接收一個(gè)數(shù)組給Item,通過(guò)遍歷這個(gè)數(shù)組和模擬數(shù)據(jù)來(lái)勾選一開(kāi)始就為選中狀態(tài)的標(biāo)簽let init=()=>{let Item=appSettings.filterInfosCategories;for(var i=0;i<Item.length;i++){var sameName=EachList(Item[i]);//因?yàn)檎麄€(gè)方法會(huì)執(zhí)行兩遍,暫未找出原因,所以加入是否重復(fù)的判斷if($scope.categories.indexOf(sameName.name)<0){$scope.categories.push(sameName.name);}}};init();//篩選分類(lèi)數(shù)組(用戶(hù)點(diǎn)擊標(biāo)簽后,傳入點(diǎn)擊的標(biāo)簽名稱(chēng)和是否在選中狀態(tài),如果在就將要傳出數(shù)組中的同名標(biāo)簽名稱(chēng)移除,如果沒(méi)選中就加入 這個(gè)要傳出的數(shù)組中)$scope.onClick=(filterItem,check)=>{var sameName=EachList(filterItem);if(!check){sameName.checked=true;$scope.categories.push(filterItem);}else{sameName.checked=false;for(var i=0;i<$scope.categories.length;i++){if($scope.categories[i]===filterItem){$scope.categories.splice(i,1);}}}};//確認(rèn)按鈕$scope.infosRef = () => {$scope.onCategoryChange();$scope.modal.hide();};//清空$scope.clean=() => {let che=$("input:checked");//這里不能通過(guò)賦值為[]來(lái)清除,外面已經(jīng)被復(fù)制引用。$scope.categories.length=0;che.each(function(k,filterInput){filterInput.checked=false;});$scope.infosRef();}} 

以上所述是小編給大家介紹的AngularJs頁(yè)面篩選標(biāo)簽小功能 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 金门县| 新竹市| 北流市| 礼泉县| 龙南县| 福州市| 城固县| 安溪县| 锦屏县| 宝鸡市| 黔西| 宽城| 哈尔滨市| 乌兰浩特市| 蛟河市| 伊通| 望江县| 贞丰县| 泰安市| 临夏县| 建瓯市| 武城县| 崇左市| 宁强县| 札达县| 宁陕县| 潮安县| 吉水县| 方山县| 乡宁县| 南陵县| 红河县| 桐庐县| 清原| 延津县| 城口县| 高清| 保亭| 岗巴县| 荔浦县| 安泽县|