java option对象,javascript-- select option对象总结
1

一基础理解:
2

3
var e
=
document.getElementById(
"
selectId
"
);
4

5
e. options
=
new
Option(
"
文本
"
,
"
值
"
) ;
6

7

//
创建一个option对象,即在标签中创建一个或多个文本
8

9

//
options是个数组,里面可以存放多个文本这样的标签
10

11

1
:options[ ]数组的属性:
12

13
length属性
---------
长度属性
14

15
selectedIndex属性
--------
当前被选中的框中的文本的索引值,此索引值是内存自动分配的(
0
,
1
,
2
,
3
..)对应(第一个文本值,第二个文本值,第三个文本值,第四个文本值


.)
16

17

2
:单个option的属性(
---
obj.options[obj.selecedIndex]是指定的某个
<
option
>
标签,是一个
---
)
18

19
text属性
---------
返回
/
指定 文本
20

21
value属性
------
返回
/
指定 值,与
<
options value
=
"

"
>
一致。
22

23
index属性
-------
返回下标,
24

25
selected 属性
-------
返回
/
指定该对象是否被选中.通过指定
true
或者
false
,可以动态的改变选中项
26

27
defaultSelected 属性
-----
返回该对象默认是否被选中。
true
/
false
。
28

29

3
:option的方法
30

31
增加一个
<
option
>
标签
-----
obj.options.add(
new
(
"
文本
"
,
"
值
"
));
<
增
>
32

33
删除一个
<
option
>
标签
-----
obj.options.remove(obj.selectedIndex)
<
删
>
34

35
获得一个
<
option
>
标签的文本
-----
obj.options[obj.selectedIndex].text
<
查
>
36

37
修改一个
<
option
>
标签的值
-----
obj.options[obj.selectedIndex]
=
new
Option(
"
新文本
"
,
"
新值
"
)
<
改
>
38

39
删除所有
<
option
>
标签
-----
obj.options.length
=
0
40

41
获得一个
<
option
>
标签的值
-----
obj.options[obj.selectedIndex].value
42

43
注意:
44

45
a:上面的写的是如这样类型的方法obj.options.function()而不写obj.funciton,是因为为了考虑在IE和FF 下的兼容,如obj.add()只能在IE中有效.
46

47
b:obj.option中的option不需要大写,
new
Option中的Option需要大写
48

49
二 应用
50

51

<
html
>
52

<
head
>
53

<
script language
=
"
javascript
"
>
54

function number()

{
55
var obj
=
document.getElementById(
"
mySelect
"
);
56

//
obj.options[obj.selectedIndex] = new Option("我的吃吃","4");
//
在当前选中的那个的值中改变
57

//
obj.options.add(new Option("我的吃吃","4"));再添加一个option
58

//
alert(obj.selectedIndex);
//
显示序号,option自己设置的
59

//
obj.options[obj.selectedIndex].text = "我的吃吃";更改值
60

//
obj.remove(obj.selectedIndex);删除功能
61

}
62

script
>
63

head
>
64

<
body
>
65

<
select id
=
"
mySelect
"
>
66

<
option
>
我的包包
option
>
67

<
option
>
我的本本
option
>
68

<
option
>
我的油油
option
>
69

<
option
>
我的担子
option
>
70

select
>
71

<
input type
=
"
button
"
name
=
"
button
"
value
=
"
查看结果
"
onclick
=
"
number();
"
>
72

body
>
73

html
>
74

75

76

77

78
根据这些东西,自己用JQEURY AJAX
+
JSON实现了一个小功能如下:
79

80
JS代码:(只取了于SELECT相关的代码)
81


/** */
/**
82
* @description 构件联动下拉列表 (用JQUERY 的AJAX配合JSON实现)
83
* @prarm selectId 下拉列表的ID
84
* @prarm method 要调用的方法名称
85
* @prarm temp 此处存放软件ID
86
* @prarm url 要跳转的地址
87

*/
88

function linkAgeJson(selectId,method,temp,url)

{
89

$j.ajax(

{
90
type:
"
get
"
,
//
使用get方法访问后台
91

dataType:
"
json
"
,
//
返回json格式的数据
92

url: url,
//
要访问的后台地址
93

data:
"
method=
"
+
method
+
"
&temp=
"
+
temp,
//
要发送的数据
94


success: function(msg)

{
//
msg为返回的数据,在这里做数据绑定
95

var data
=
msg.lists;
96
coverJsonToHtml(selectId,data);
97
}
98
}
);
99
}
100

101


/** */
/**
102
* @description 将JSON数据转换成HTML数据格式
103
* @prarm selectId 下拉列表的ID
104
* @prarm nodeArray 返回的JSON数组
105
*
106

*/
107

function coverJsonToHtml(selectId,nodeArray)

{
108

//
get select
109

var tempSelect
=
$j(
"
#
"
+
selectId);
110

//
clear select value
111

isClearSelect(selectId,
'
0
'
);
112
var tempOption
=
null
;
113


for
(var i
=
0
;i
<
nodeArray.length;i
++
)

{
114

//
create select Option
115

tempOption
=
$j(
'
'
+
nodeArray[i].dm
+
'
">
'
+
nodeArray[i].mc
+
'
'
);
116

//
put Option to select
117

tempSelect.append(tempOption);
118
}
119

//
获取退化构件列表
120

getCpgjThgl(selectId,
'
thgjDm
'
);
121
}
122


/** */
/**
123
* @description 清空下拉列表的值
124
* @prarm selectId 下拉列表的ID
125
* @prarm index 开始清空的下标位置
126

*/
127

function isClearSelect(selectId,index)

{
128
var length
=
document.getElementById(selectId).options.length;
129


while
(length
!=
index)

{
130

//
长度是在变化的,因为必须重新获取
131

length
=
document.getElementById(selectId).options.length;
132

for
(var i
=
index;i
<
length;i
++
)
133
document.getElementById(selectId).options.remove(i);
134
length
=
length
/
2
;
135
}
136
}
137

138


/** */
/**
139
* @description 获取退化构件列表
140
* @prarm selectId1 引用软件下拉列表的ID
141
* @prarm selectId2 退化构件下拉列表的ID
142

*/
143

function getCpgjThgl(selectId1,selectId2)

{
144
var obj1
=
document.getElementById(selectId1);
//
引用软件下拉列表
145

var obj2
=
document.getElementById(selectId2);
//
退化构件下拉列表
146

var len
=
obj1.options.length;
147

//
当引用软件列表长度等于1时返回,不做操作
148


if
(len
==
1
)

{
149

return
false
;
150
}
151

//
清空下拉列表的值,两种方式都可以
152

//
isClearSelect(selectId2,'1');
153

document.getElementById(selectId2).length
=
1
;
154


for
(var i
=
0
;i
<
len; i
++
)

{
155
var option
=
obj1.options[i];
156

//
引用软件被选中项不加入
157


if
(i
!=
obj1.selectedIndex)

{
158

//
克隆OPTION并添加到SELECT中
159

obj2.appendChild(option.cloneNode(
true
));
160
}
161
}
162

163
}
164

165

166

167

168
HTML代码:
169

170

<
TABLE width
=
"
100%
"
border
=
0
align
=
"
left
"
cellPadding
=
0
cellSpacing
=
1
>
171

<
tr
>
172

<
td
class
=
"
Search_item_18
"
>
<
span
class
=
"
Edit_mustinput
"
>*
span
>
引用软件:
td
>
173

<
td
class
=
"
Search_content_82
"
>
174

<
input name
=
"
yyrjMc
"
id
=
"
yyrjMc
"
type
=
"
text
"
class
=
"
Search_input
"
tabindex
=
"
3
"
size
=
"
30
"
>
175

<
input name
=
"
yyrjDm
"
id
=
"
yyrjDm
"
type
=
"
hidden
"
>
176

<
input type
=
"
button
"
class
=
"
Search_button_select
"
177
onClick
=
"
linkAgeTree('linkage','yyrjtree','yyrjMc','yyrjDm','linkageTree','1');
"
value
=
"
选择

"
>
178

td
>
179

tr
>
180

<
tr
>
181

<
td
class
=
"
Search_item
"
>
<
span
class
=
"
Edit_mustinput
"
>*
span
>
引用分版:
td
>
182

<
td
class
=
"
Search_content
"
id
=
"
yyfb
"
>
183

<
select name
=
"
yyfbDm
"
style
=
"
width:160
"
id
=
"
yyfbDm
"
onChange
=
"
getCpgjThgl('yyfbDm','thgjDm')
"
>
184

185

select
>
186

td
>
187

tr
>
188

<
tr
>
189

<
td
class
=
"
Search_item
"
>
退化构件:
td
>
190

<
td
class
=
"
Search_content
"
id
=
"
thgj
"
>
191

<
select name
=
"
thgjDm
"
style
=
"
width:160
"
id
=
"
thgjDm
"
>
192

<
option value
=
"
-1
"
selected
>
无
option
>
193

select
>
194

td
>
195

tr
>
196

TABLE
>
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
