实在是不能对jquery的ajax要领和基于页面dom的种种取值、传值要领惬意(虽然jquery已解救过我一次了),恰好手上这个项目用jquery的要领写了一半,决议尝尝很久以前自学的angularJS,把如今项目中jquery得部分用angularJS重写一遍。
写的时刻遇到许多题目,由于刚最先用,写法思绪照样和写jquery类似,致使与在一个天生select option下拉框时花费了2个小时才终究搞定。
一般html select option, 须要该字段称号name
,选线id
,选项label
<select name="data" id="data_select">
<option value="id1">a</option>
<option value="id2">b</option>
<option value="id3">c</option>
</select>
jquery的取选项得做法
select_id = $("#data_select option:selected").val();
jqueryde的思绪大概是上面如许的,然则运用了angularJS后,实在让我疑惑了
angularJS在select下运用ng-option
标签天生选项实例
<select class="form-control"
ng-model="bubble_inputs.y"
ng-options="y.name for y in basic_data.frameworks_y"
>
天生的html dom以下:
<select class="form-control ng-valid ng-dirty"
ng-model="bubble_inputs.x"
ng-options="x.name for x in basic_data.frameworks_x"
>
<option value="0">x1</option>
<option value="1">x2</option>
<option value="2">x3</option>
<option value="3">x4</option>
...
</select>
瞥见这个输出,我发明没法把id
写在option > value
上
这岂不是没法猎取选项信息了?这不可,万万不可 。效果最先了长时间的google,照样没有解决办法,就只能天生这类只要label的option,这咋办呢?岂非要用ng-repeat
天生option?
<select class="form-control" name="y_id" id="type_y">
<option ng-repeat="framework_y in basic_data.frameworks_y" value="{{framework_y.id}}">
{{framework_y.name}}
</option>
</select>
我以至最先这么尝试了,然则我的明智战胜了偷懒的杂念,决议经由过程ng-click
取model里的值看一看,效果console.log
出来一看,发明本身一个多小时都傻x了。看看console里的效果:
Object {bubble_name: "ab", bubble_description: "b", x: Object, y: Object, series: Object}
bubble_description: "b"
bubble_name: "ab"
series: Object
x: Object
y: Object
date: "2014-03-11 09:03:22"
description: ""
disable_flag: "1"
id: "9"
name: "y3"
position: "1"
team_id: "8"
type: "y"
__proto__: Object
__proto__: Object
angularJS依据model的称号早就把每一个相干的input的值自动放在Object中了
基础不在须要什么value=‘id’,只要把model的object从接口中取出来,放在html页面上,、选中的option
的悉数数据angularJS自动就帮我取到controller中得点击事宜中去了。