zoukankan
html css js c++ java
js select 下拉框学习
<
form id
=
"
f
"
>
<
select size
=
"
1
"
name
=
"
s
"
>
<
option value
=
"
lizi.name
"
>
梨子面馆
</
option
>
<
option value
=
"
baidu.com
"
>
百度
</
option
>
</
select
>
</
form
>
<
script type
=
"
text/javascript
"
>
<!--
var
f
=
document.getElementById(
"
f
"
);
//
获得select列表项数目
document.write(f.s.options.length);
document.write(f.s.length);
//
当前选中项的下标(从0 开始)(有两种方法)
//
如果选择了多项,则返回第一个选中项的下标
document.write(f.s.options.selectedIndex);
document.write(f.s.selectedIndex);
//
检测某一项是否被选中
document.write(f.s.options[
0
].selected);
//
获得某一项的值和文字
document.write(f.s.options[
0
].value);
document.write(f.s.options[
1
].text);
//
删除某一项
f.s.options[
1
]
=
null
;
//
追加一项
f.s.options[f.s.options.length]
=
new
Option(
"
追加的text
"
,
"
追加的value
"
);
//
更改一项
f.s.options[
1
]
=
new
Option(
"
更改的text
"
,
"
更改的value
"
);
//
也可以直接设置该项的 text 和 value
//
-->
</
script
>
//
全选列表中的项
function
SelectAllOption(list)
{
for
(
var
i
=
0
; i
<
list.options.length; i
++
)
{
list.options[i].selected
=
true
;
}
}
//
反选列表中的项
function
DeSelectOptions(list)
{
for
(
var
i
=
0
; i
<
list.options.length; i
++
)
{
list.options[i].selected
=
!
list.options[i].selected;
}
}
//
返回列表中选择项数目
function
GetSelectedOptionsCnt(list)
{
var
cnt
=
0
;
var
i
=
0
;
for
(i
=
0
; i
<
list.options.length; i
++
)
{
if
(list.options[i].selected)
{
cnt
++
;
}
}
return
cnt;
}
//
清空列表
function
ClearList(list)
{
while
(list.options.length
>
0
)
{
list.options[
0
]
=
null
;
}
}
//
删除列表选中项
//
返回删除项的数量
function
DelSelectedOptions(list)
{
var
i
=
0
;
var
deletedCnt
=
0
;
while
(i
<
list.options.length)
{
if
(list.options[i].selected)
{
list.options[i]
=
null
;
deletedCnt
++
;
}
else
{
i
++
;
}
}
return
deletedCnt;
}
//
此函数查找相应的项是否存在
//
repeatCheck是否进行重复性检查
//
若为"v",按值进行重复值检查
//
若为"t",按文字进行重复值检查
//
若为"vt",按值和文字进行重复值检查
//
其它值,不进行重复性检查,返回false
function
OptionExists(list, optText, optValue, repeatCheck)
{
var
i
=
0
;
var
find
=
false
;
if
(repeatCheck
==
"
v
"
)
{
//
按值进行重复值检查
for
(i
=
0
; i
<
list.options.length; i
++
)
{
if
(list.options[i].value
==
optValue)
{
find
=
true
;
break
;
}
}
}
else
if
(repeatCheck
==
"
t
"
)
{
//
按文字进行重复检查
for
(i
=
0
; i
<
list.options.length; i
++
)
{
if
(list.options[i].text
==
optText)
{
find
=
true
;
break
;
}
}
}
else
if
(repeatCheck
==
"
vt
"
)
{
//
按值和文字进行重复检查
for
(i
=
0
; i
<
list.options.length; i
++
)
{
if
((list.options[i].value
==
optValue)
&&
(list.options[i].text
==
optText))
{
find
=
true
;
break
;
}
}
}
return
find;
}
//
向列表中追加一个项
//
list 是要追加的列表
//
optText 和 optValue 分别表示项的文字和值
//
repeatCheck 是否进行重复性检查,参见 OptionExists
//
添加成功返回 true,失败返回 false
function
AppendOption(list, optText, optValue, repeatCheck)
{
if
(
!
OptionExists(list, optText, optValue, repeatCheck))
{
list.options[list.options.length]
=
new
Option(optText, optValue);
return
true
;
}
else
{
return
false
;
}
}
//
插入项
//
index 插入位置,当插入位置 >= 列表现有项数量时,其作用相当于不进行重复检
查的追加项
//
optText 和 optValue 分别表示项的文字和值
function
InsertOption(list, index, optText, optValue)
{
var
i
=
0
;
for
(i
=
list.options.length; i
>
index; i
--
)
{
list.options[i]
=
new
Option(list.options[i
-
1
].text, list.options[i
-
1
].value);
}
list.options[index]
=
new
Option(optText, optValue);
}
//
将一个列表中的项导到另一个列表中
//
repeatCheck是否进行重复性检查,参见OptionExists
//
deleteSource项导到目标后,是否删除源列表中的项
//
返回影响的项数量
function
ListToList(sList, dList, repeatCheck, deleteSource)
{
//
所影响的行数
var
lines
=
0
;
var
i
=
0
;
while
(i
<
sList.options.length)
{
if
(sList.options[i].selected
&&
AppendOption(dList, sList.options[i].text,
sList.options[i].value, repeatCheck))
{
//
添加成功
lines
++
;
if
(deleteSource)
{
//
删除源列表中的项
sList.options[i]
=
null
;
}
else
{
i
++
;
}
}
else
{
i
++
;
}
}
return
lines;
}
//
列表中选中项上移
function
MoveSelectedOptionsUp(list)
{
var
i
=
0
;
var
value
=
""
;
var
text
=
""
;
for
(i
=
0
; i
<
(list.options.length
-
1
); i
++
)
{
if
(
!
list.options[i].selected
&&
list.options[i
+
1
].selected)
{
value
=
list.options[i].value;
text
=
list.options[i].text;
list.options[i]
=
new
Option(list.options[i
+
1
].text, list.options
[i
+
1
].value);
list.options[i].selected
=
true
;
list.options[i
+
1
]
=
new
Option(text, value);
}
}
}
//
列表中选中项下移
function
MoveSelectedOptionsDown(list)
{
var
i
=
0
;
var
value
=
""
;
var
text
=
""
;
for
(i
=
list.options.length
-
1
; i
>
0
; i
--
)
{
if
(
!
list.options[i].selected
&&
list.options[i
-
1
].selected)
{
value
=
list.options[i].value;
text
=
list.options[i].text;
list.options[i]
=
new
Option(list.options[i
-
1
].text, list.options[i
-
1
].value);
list.options[i].selected
=
true
;
list.options[i
-
1
]
=
new
Option(text, value);
}
}
}
查看全文
相关阅读:
Vasya and Endless Credits CodeForces
Dreamoon and Strings CodeForces
Online Meeting CodeForces
数塔取数 基础dp
1001 数组中和等于K的数对 1090 3个数和为0
1091 线段的重叠
51nod 最小周长
走格子 51nod
1289 大鱼吃小鱼
POJ 1979 Red and Black
原文地址:https://www.cnblogs.com/qgf522/p/1274305.html
最新文章
[洛谷P3808]【模板】AC自动机(简单版)
[洛谷P3381]【模板】最小费用最大流
[CF15C]Industrial Nim
[洛谷P2197]nim游戏
[洛谷P3835]【模板】可持久化平衡树
[洛谷P4238]【模板】多项式求逆
多项式合集(链接)
[洛谷P3369]【模板】普通平衡树
[洛谷P3946] ことりのおやつ(小鸟的点心)
[洛谷P3834] 【模板】可持久化线段树 1(主席树)
热门文章
[洛谷P3803] 【模板】多项式乘法(FFT, NTT)
[洛谷P1361]小M的作物
[POJ1631]Bridging signals
[洛谷P2657][SCOI2009]windy数
tensorflow中协调器 tf.train.Coordinator 和入队线程启动器 tf.train.start_queue_runners
halcoN GPU
[Python ]小波变化库——Pywalvets 学习笔记
论文3
牛客 40E 珂朵莉的数论题
牛客 40F 珂朵莉的约数 (莫队)
Copyright © 2011-2022 走看看