`

AngularJS select详细用法

阅读更多

select 是 AngularJS 预设的一组directive。下面是其官网api doc给出的用法:AngularJS:select

大意是,select中的ngOption可以采用和ngRepeat指令类似的循环结构,其data source可以是array或者是object。针对两种data source又有衍生的好几种用法。但是官网的例子实在是太少了。

下面是针对几个不太容易理解的用法的例子。

先上controller

<!-- lang: js -->
function selectCtrl($scope) {
    $scope.selected = '';

    $scope.model = [{
        id: 10001,
        mainCategory: '男',
        productName: '水洗T恤',
        productColor: '白'
    }, {
        id: 10002,
        mainCategory: '女',
        productName: '圆领短袖',
        productColor: '黑'
    }, {
        id: 10003,
        mainCategory: '女',
        productName: '短袖短袖',
        productColor: '黃'
    }];
}

实例一:基本下拉效果

usage: label for value in array


<select ng-model="selected" ng-options="m.productName for m in model">
    <option value="">-- 请选择 --</option>
</select>

效果:

AngularJS select详细用法

说明

  1. usage中的 value 也就是 ng-options 中的 m,而 m 是数组model的一个元素,它是一个变量
  2. usage中的 label 也就是 ng-options 中的m.productName, 其实就是一个 AngularJS Expression

实例二:自定义下拉显示名称

usage: label for value in array


<select ng-model="selected" ng-options="(m.productColor + ' - ' + m.productName) for m in model">
    <option value="">-- 请选择 --</option>
</select>

效果

AngularJS select详细用法

说明

  1. 可以看到,usage 中的 label 可以根据需求拼接出不同的字符串

实例三: 让选项分组

usage: label group by group for value in array


<select ng-model="selected" ng-options="(m.productColor + ' - ' + m.productName) group by m.mainCategory for m in model">
    <option value="">-- 请选择 --</option>
</select>

效果

AngularJS select详细用法

说明

  1. 这里使用了group by,通过$scope.model中的mainCategory字段进行分组

实例四:自定义ngModel的值

usage: select as label for value in array


<select ng-model="selected" ng-options="m.id as m.productName for m in model">
    <option value="">-- 请选择 --</option>
</select>

效果

AngularJS select详细用法

说明

  1. 这种用法也是select指令最复杂的一种。从效果中可以看出,usage中select的作用就是重新定义ng-model的值。在这里,ng-model等于m.id,当ng-model发生改变的时候,得到的是m.id的值

参考

  1. http://docs.angularjs.org/api/ng.directive:select
  2. http://blog.miniasp.com/post/2013/05/12/AngularJS-ng-module-select-ngOptions-usage-samples.aspx

本文来源于:http://www.codeweblog.com/angularjs-select%E8%AF%A6%E7%BB%86%E7%94%A8%E6%B3%95/

分享到:
评论

相关推荐

    angularjs自定义select搜索查找插件

    首先,让我们了解AngularJS的Select基本用法。在AngularJS中,Select元素通常与ngOptions指令结合使用,以便根据模型动态生成选项。例如: ```html &lt;select ng-model="selectedItem" ng-options="item.name for ...

    angularjs ui-select2 多选下拉所需资源文件

    在本文中,我们将深入探讨如何在AngularJS应用中集成并使用ui-select2库来实现多选下拉功能。AngularJS是一款强大的前端JavaScript框架,而select2是一个流行的jQuery插件,它提供了美观且功能丰富的选择器组件,...

    AngularJS select设置默认值的实现方法

    AngularJS的select设置默认值 在使用Angular时候使用select标签时会遇到绑定数据指定默认显示值可这样实现 &lt;!DOCTYPE html&gt; &lt;html ng-app="noteApp" ng-controller="noteCtrl"&gt; &lt;head&gt; &lt;meta ...

    my-angularjs-select.rar

    通过理解其基本用法,结合AngularJS的数据绑定和指令系统,我们可以创建出适应各种需求的Select组件。在实际开发中,应根据项目规模和性能要求进行适当的优化,以确保良好的用户体验和应用性能。

    angularjs select 赋值 ng-options配置方法

    以下将详细介绍AngularJS中select赋值和ng-options配置的几种方法: 1. 数组方式 在数组方式中,ng-options指令用于绑定一个数组到select元素上,数组中的每个元素代表一个选项。例如: ```html $scope.years = ...

    angularjs 实现带查找筛选功能的select下拉框实例

    文章中提到的“angularjs 实现带查找筛选功能的select下拉框实例”,涵盖了在AngularJS框架内创建一个带有筛选功能的下拉列表的实现方法,这对于开发中需要改善用户体验的场景非常有用。在以往的select元素中,对于...

    AngularJS select加载数据选中默认值的方法

    下面详细说明如何在AngularJS中实现select组件加载数据并设置默认选中的值。 首先,要使用AngularJS的select组件,需要在HTML元素中使用ng-model指令来绑定select元素的值到一个模型变量上。ng-model指令允许你将...

    AngularJS Select(选择框)使用详解

    AngularJS Select选择框是AngularJS框架中用于创建下拉列表的指令,允许用户从多个选项中选择一个或多个值。在AngularJS中,可以通过ng-options指令或ng-repeat指令来创建选择框。 首先,ng-options指令用于更加...

    angularjs的select使用及默认选中设置

    本篇文章将详细探讨如何在AngularJS中使用`select`以及如何设置默认选中项。 首先,`ng-model`是AngularJS的核心指令之一,用于双向数据绑定。在`select`元素中,`ng-model`用于指定当前选中的选项值。例如,在给定...

    基于AngularJs select绑定数字类型的问题

    在AngularJS中,`select`元素常常用于创建下拉列表,并使用`ng-model`指令将用户选择的值绑定到控制器的属性。然而,当尝试绑定数字类型时,可能会遇到一些问题,因为`ng-model`默认将`select`的值解析为字符串。...

    Angular.JS中select下拉框设置value的方法

    总结来说,设置AngularJS中`select`下拉框的`value`,关键在于正确地使用`ngModel`和`ngRepeat`指令,将数据源中的属性映射到`option`的`value`属性上。同时,通过`ngModel`双向绑定,可以轻松地获取用户在下拉框中...

    最新AngularJS开发宝典视频教程 后盾网AngularJS培训视频教程 后盾网.txt

    ├最新AngularJS开发宝典—第005讲 $scope的基本使用方法.mp4 ├最新AngularJS开发宝典—第006讲 表达式与ng-bind及ng-cloak解决闪屏问题.mp4 ├最新AngularJS开发宝典—第007讲 ng-model在表单中双向绑定实例分析...

    angular-ui-select:AngularJS UI Select指令允许创建包含组相关选项的乘法下拉列表

    该指令允许使用组相关选项创建多个下拉列表。 所选选项的值添加到AngularJS可用的数组中。 依存关系 -v1.3.8 -v1.11.1 -v2.4.1 -v3.3.1 ###演示 ###用法 它是如何工作的? 简单的。 指令告诉编译器附加的...

    angular-multi-select:AngularJS 的多选指令

    角度多选 AngularJS 的多选小部件。... 用法: angular.module('myApp', ['multi-select', ...]); 例子: &lt;multi-select ng-model="user.roles" available="roles" selected-label="Current roles

    angular-select2.zip

    接着,在你的AngularJS指令或控制器中,使用`select2`指令并指定相关配置,如数据源、搜索方法等: ```javascript app.controller('MyController', function($scope) { $scope.options = [/* your options data */...

    angularjs文件上传插件

    8. **支持多种HTTP方法**:不仅限于POST,还可以使用PUT、PATCH等其他HTTP方法。 使用 ng-file-upload 插件时,首先需要在项目中引入该插件的相关文件,然后在 AngularJS 的模块中注册该插件。接着,可以在HTML模板...

    AngularJS动态生成select下拉框的方法实例

    主要给大家介绍了关于AngularJS动态生成select下拉框的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用AngularJS具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

Global site tag (gtag.js) - Google Analytics