angular实时显示checkbox被选中的元素

/**
 * Created by zh on 20/05/15.
 */
// Code goes here

var iApp = angular.module("App", []);

iApp.controller(‘AddStyleCtrl‘, function($scope)
{
    $scope.tagcategories = [
        {
            id: 1,
            name: ‘Color‘,
            tags: [
                {
                    id:1,
                    name:‘color1‘
                },
                {
                    id:2,
                    name:‘color2‘
                },
                {
                    id:3,
                    name:‘color3‘
                },
                {
                    id:4,
                    name:‘color4‘
                },
            ]
        },
        {
            id:2,
            name:‘Cat‘,
            tags:[
                {
                    id:5,
                    name:‘cat1‘
                },
                {
                    id:6,
                    name:‘cat2‘
                },
            ]
        },
        {
            id:3,
            name:‘Scenario‘,
            tags:[
                {
                    id:7,
                    name:‘Home‘
                },
                {
                    id:8,
                    name:‘Work‘
                },
            ]
        }
    ];
//用于存储选中的值
    $scope.selected = [];
    $scope.selectedTags = [];
//更新事件
    var updateSelected = function(action,id,name){
        if(action == ‘add‘ && $scope.selected.indexOf(id) == -1){
            $scope.selected.push(id);
            $scope.selectedTags.push(name);
        }
        if(action == ‘remove‘ && $scope.selected.indexOf(id)!=-1){
            var idx = $scope.selected.indexOf(id);
            $scope.selected.splice(idx,1);
            $scope.selectedTags.splice(idx,1);
        }
    }
//用于监控点击事件,checkbox选择了就更新
    $scope.updateSelection = function($event, id){
        var checkbox = $event.target;
        var action = (checkbox.checked?‘add‘:‘remove‘);
        updateSelected(action,id,checkbox.name);
    }
//判断存储的变量中是否已包含该checkbox,$scope.selected.indexOf(id)>=0是个布尔值
$scope.isSelected = function(id){ return $scope.selected.indexOf(id)>=0; } });
<!DOCTYPE html>
<html data-ng-app="App">
<head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
    <script src="script2.js"></script>
</head>
<body data-ng-controller="AddStyleCtrl">

    <div>Choose Tags</div>
    <div>
        <div>You have choosen:</div>
        <hr>
        <label data-ng-repeat="selectedTag in selectedTags">
            (({{selectedTag}}))
        </label>
        <hr>
        <div data-ng-repeat="category in tagcategories">
            <div>{{ category.name }}</div>
            <div data-ng-repeat="tag in category.tags">
                <div>            <!--根据ng-repeat生成一些button-->
                    <input type="checkbox" id={{tag.id}} name="{{tag.name}}" ng-checked="isSelected(tag.id)" ng-click="updateSelection($event,tag.id)">
                    {{ tag.name }}
                </div>
            </div>
            <hr>
        </div>
    </div>

<pre>{{selected|json}}</pre>
<pre>{{selectedTags|json}}</pre>

</body>
</html>

  出处: http://www.cnblogs.com/CheeseZH/

时间: 2024-10-10 21:26:07

angular实时显示checkbox被选中的元素的相关文章

Angular实时显示日期时间

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>AngularJS 内置服务</title> <script src='./angular.min.js'></script> </head> <body ng-app="App"> <

angular 实时显示用户输入内容

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <!--angularJS关注的不再是DOM模型,而是数据本身 --> <!-- 告诉angular去监管哪块区域,ng-app(指令)写在body上,body已经被angularJS监管,body中所有用angularJS语法写的东

AngularJS判断checkbox/复选框是否选中并实时显示

最近做了一个选择标签的功能,把一些标签展示给用户,用户选择自己喜欢的标签,就类似我们在购物网站看到的那种过滤标签似的: 简单的效果如图所示: 首先看一下html代码: 1 <!DOCTYPE html> 2 <html data-ng-app="App"> 3 <head> 4 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/

基于Jquery插件Uploadify实现实时显示进度条上传图片

网址:http://www.jb51.net/article/83811.htm 这篇文章主要介绍了基于Jquery插件Uploadify实现实时显示进度条上传图片的相关资料,感兴趣的小伙伴们可以参考一下 先了解了解Uploadify,具体内容如下 Uploadify是一个简单易用的多文件上传方案.作为一个Jquery插件,Uploadify使用简单,并具有高度的定制性. Uploadify特性: Uploadify简单说来,是基于Jquery的一款文件上传插件.它的功能特色总结如下: 1).支

实时显示iOS编写UI代码效果

编写iOS应用UI的方式大概有两种,一种是Storyboard/Xib,另一种是手写代码.采用Storyboard/Xib方式组织UI,由于提供可视化的特性,只要从UI库中拖动UI控件,便可以显示结果,极大地提高开发速度.但面临一个问题就是多人协作开发,由于所有的UI都放在同一个Storyboard文件中,使用Git/SVN合并代码就会出现冲突.多人协作开发还不是主要问题,有人提出可以创建多个Storyboard来分开UI编写,而Storyboard/Xib最主要问题是代码复用性比较差.所以有些

jq、js中判断checkbox是否选中

最近在开发项目时用到checkbox复选框,其中遇到一个问题:在JQ中如何判断checkbox是否被选中呢?之前用JQ获取元素的属性用的都是attr(),但用在checkbox上却没有用,原因何在??? 1.JS中判断checkbox是否被选中 对于在js中来判断checkbox是否被选中很简单,举个??来说 HTML代码: <input type="checkbox" name="box"> 相应的javascript代码如下: var check =

jquery+ajax 实现text框模糊搜索并可利用listbox实时显示模糊搜索列表结果

功能描述: text框中输入,text框下面的listbox中实时显示依据输入的内容进行模糊搜索的结果 js代码 1 $j(function() { 2 $j("input[id='txtCos']").bind('input propertychange', function () { searchCostCenterbyName($j(this).val()); }); 3 }); 4 5 function searchCostCenterbyName(parameters) {

实时显示iOS编写UI代码效果(转)

编写iOS应用UI的方式大概有两种,一种是Storyboard/Xib,另一种是手写代码.采用Storyboard/Xib方式组织UI,由于提供可视化的特性,只要从UI库中拖动UI控件,便可以显示结果,极大地提高开发速度.但面临一个问题就是多人协作开发,由于所有的UI都放在同一个Storyboard文件中,使用Git/SVN合并代码就会出现冲突.多人协作开发还不是主要问题,有人提出可以创建多个Storyboard来分开UI编写,而Storyboard/Xib最主要问题是代码复用性比较差.所以有些

WinForm控件TreeView 只部分节点显示 CheckBox

WinForm控件TreeView 只部分节点显示  CheckBox 用过asp.net的应该知道,要在treeview中实现上述功能可以使用ShowCheckBox 属性指定那些节点显示checkbox哪些不显示,可是winform中的treeview只提供一个ShowCheckBoxes 属性,要么全部节点显示checkbox,要不全部不显示,而指定节点没有ShowCheckBox 属性,下面就在winform的treeview中实现BS对应CheckBox 属性的功能  方法1: a)