angular select中ng-options使用

function selectCtrl($scope) {
    $scope.selected = ‘‘;

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

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

从这两段代码就能看出结果了,ng-options的值就可以当做英文意思来理解。m.productName属性来自m in model遍历。按照这种思路下面列出不同使用格式↓

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

遍历出两个属性值。

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

通过遍历,进行分组显示。

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

这个比较难理解点,意思是通过遍历得到id,也就是界面显示的是m.productName值但是选中后输入框绑定到ng-model=”selsected”的值是m.id。

以后总会用到的!!
时间: 2024-12-23 16:51:30

angular select中ng-options使用的相关文章

javascript中select中options的属性

Select 选择区(下拉列表)对象 由“<select>”指定. 属性length 返回 Select 对象下选项的数目. obj.length // obj.options.lengthselectedIndex 返回被选中的选项的下标.obj.selectedIndex这个下标就是在 options[] 数组中该选项的位置.如果 Select 对象允许多项选择,则返回第一个被选中的选项的下标. form 返回包含本元素的表单对象. obj.options[x].form 方法blur()

JS对select动态添加options操作[IE&amp;FireFox兼容]

<select id="ddlResourceType" onchange="getvalue(this)"> </select> 动态删除select中的所有options: document.getElementById("ddlResourceType").options.length=0; 动态删除select中的某一项option: document.getElementById("ddlResourc

Angular.js中的指令——易懂全解析

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">angular.js中,指令是最基础的

【JavaScript】下拉列表select中在value传递多个值,取出其option显示值,并应用此作为导航

对于下拉列表select,众所周知,其值就是选中的option中的value值,可是如果需要取出每一个option的显示值,那又如何做呢?虽然没什么必要取出option的显示值,但是如果有时候确实需要这个显示值,在javascript的脚本做点什么呢?另外,如果要再value处传递多个值呢?那又改如何呢? 一.取出option的显示值 你可以先传递整个select过去脚本,假设传过去的形式参数是obj,然后利用obj.options[obj.selectedIndex].innerHTML来取出

JS 实现 select中指定option选中触发事件(下拉框)

转自:http://www.cnblogs.com/moli-/p/6406170.html 在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发. 想添加一个option的触发事件,在option中添加onclick 点来点去就是不会触发事件 又在select中添加onclick 这下可好了,没选option呢就触发了 当我们触发select的双击事件时,用ondb

SQLSever: 如何在select中的每一行产生不同的随机数?

select 的随机函数有点假, 也许是因为它是基于时间来的吧, 同一select中由于时间无法错开导致产生的随机数都是一样的, 如何做到让不同的行拥有不同的随机数呢? 下面以产生某个月的随机日期来示例吧. --创建最小为1 最大为31 的视图 if object_id('view_rand_int31') is not null begin drop view view_rand_int31 end go create view view_rand_int31 as select cast(c

select 中使用 case when 和 replace

在SELECT中,用CASE   例如:     select   a.Cname   as   Tcomname,b.Cname   as   TGoodname,D.nQuanty,c.cNote,   (case   when   c.iEvaluate='-1'  then   '差评'  when   c.iEvaluate='1'   then   '好评'   when   c.ievaluate='0'   then   '一般'   end)   as   ievaluate 

Angular.js中处理页面闪烁的方法详解

Angular.js中处理页面闪烁的方法详解 前言 大家在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况.数据还没响应,但页面已经渲染了.这是因为浏览器和angularjs渲染页面都需要消耗一定的时间,这个间隔可能很小,甚至让人感觉不到,这种情况一切正常,但这个时间也可能很长,这时候用户可能会看到满屏尽是{{xxxx}}.这种情况被叫做"Flash Of Unrendered Content (FOUC)(K)?and is always unwanted.".

angular.js 中同步视图和模型数据双向绑定,$watch $digest $apply 机制

Angular.js 中的特性,双向绑定. 让视图的改变直接反应到数据中,数据的改变又实时的通知到视图,如何做到的? 这要归功于 scope 下面3个重要的方法: $watch $digest $apply 他们的区别是什么,我们来介绍下: $watch 这是一个监听 scope 上数据的监听器 方法说明: $scope.$watch('参数',function(newValue,oldValue){ //逻辑处理 }) 上面我们就是创建了一个监听器. ‘参数’ 就是$scope对象下的一个对象