Angular實(shí)現(xiàn)一個(gè)簡單的多選復(fù)選框的彈出框指令實(shí)例
之前的文章有寫過包含樹結(jié)構(gòu)下拉框的。
要實(shí)現(xiàn)一個(gè)包含多個(gè)復(fù)選框的下拉框該如何做呢?
先上個(gè)效果圖吧:

代碼:
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="../bootstrap/css/bootstrap.css" rel="external nofollow" >
<script src="../jquery.js"></script>
<script src="../bootstrap/js/bootstrap.js"></script>
<style type="text/css">
label {
display: block;
margin-top: 3px;
}
label.list:hover {
cursor: pointer;
background-color: red;
}
label.selected {
background-color: red;
}
</style>
<script src="../angular.js"></script>
<script type="text/javascript">
angular.module("app", [])
.controller("ctrl", function($scope) {
jQuery(".dropdown-menu *").click(function(e){
e.stopPropagation();
});
$scope.selectList = [{
name: "選項(xiàng)1",
value: "item1",
select: false
}, {
name: "選項(xiàng)2",
value: "item2",
select: true
}];
$scope.$watch("selectList", function(n, o) {
$scope.result = (function(arr) {
var t = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i].select) {
t.push(arr[i].name);
}
}
if (!t.length) {
t.push("--請選擇--");
}
return t.join(",");
})($scope.selectList);
}, true)
})
.directive("multiSelect", function() {
return {
scope: {
data: "=multiSelect"
},
templateUrl: "option.html"
}
})
</script>
</head>
<body>
<div ng-controller="ctrl">
<div class="dropdown">
<span class="dropdown-toggle", data-toggle="dropdown">
<button ng-bind="result"> </button>
<span class="caret"></span>
</span>
<ul class="dropdown-menu">
<li>
//下拉框數(shù)據(jù)綁定
<div multi-select="selectList"></div>
</li>
</ul>
</div>
</div>
</body>
</html>
指令模版代碼option.html:
<label for="{{'check_' + $index}}" ng-class="{list:true, selected:data[$index].select}" ng-repeat = "item in data">
//為不同的選項(xiàng)定義不同的id
<input id="{{'check_' + $index}}" type="checkbox" ng-model="data[$index].select">
{{item.name}}
</label>
以上這篇Angular實(shí)現(xiàn)一個(gè)簡單的多選復(fù)選框的彈出框指令實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
AngularJS自定義插件實(shí)現(xiàn)網(wǎng)站用戶引導(dǎo)功能示例
這篇文章主要介紹了AngularJS自定義插件實(shí)現(xiàn)網(wǎng)站用戶引導(dǎo)功能,結(jié)合實(shí)例形式分析了AngularJS自定義插件的實(shí)現(xiàn)步驟與相關(guān)功能技巧,需要的朋友可以參考下2016-11-11
AngularJS開發(fā)教程之控制器之間的通信方法分析
這篇文章主要介紹了AngularJS開發(fā)教程之控制器之間的通信方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了AngularJS控制器之間通信的三種常用方式及相關(guān)使用技巧,需要的朋友可以參考下2016-12-12
AngularJS基礎(chǔ) ng-disabled 指令詳解及簡單示例
本文主要介紹AngularJS ng-disabled 指令,這里幫大家整理了ng-disabled指令的基礎(chǔ)指令,并附示例代碼,有需要的小伙伴參考下2016-08-08
Angular學(xué)習(xí)筆記之集成三方UI框架、控件的示例
這篇文章主要介紹了Angular學(xué)習(xí)筆記之集成三方UI框架、控件的示例,詳細(xì)的介紹了Material UI、Ag-grid等框架,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
深入淺析AngularJS中的一次性數(shù)據(jù)綁定 (bindonce)
這篇文章主要介紹了AngularJS中的一次性數(shù)據(jù)綁定 (bindonce)知識,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-05-05

