请
登录
后使用快捷导航
没有帐号?
注册
登录
注册
快捷导航
首页
论坛
BBS
博客
技术栈
ITPUB学院
名人堂
版主团
搜索
高级搜索
热搜:
oracle
SAP
sap
二维码
dba
Oracle
c++
C++
CRM
银联信息中心
比特币
小额贷款
贷款
crm
ORACLE
项目管理系统
thread
android
python
java
本版
文章
帖子
用户
ITPUB论坛-专业的IT技术社区
»
论坛
›
≡ 开发技术 ≡
›
WEB程序开发
›
JavaScript教程
1 ...
3
4
5
6
7
8
9
10
11
/ 11 页
返回列表
楼主:
keaide
收藏
|
JavaScript教程
[复制链接]
keaide
keaide
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
456
101
#
楼主
|
发表于 2006-5-28 22:03
|
只看该作者
这是因为选单的元素有一个选项属性,而该属性是选单所
有选项的集合而成的数组。点击change the select然后从
下拉选单从下列选单中查看其选项是否已经被改变。现在
第2个选项应该是*thau*。
除了选项属性,选单还有一项属性叫做selectedIndex。大
笔一个选项被选择后,selectedIndex属性将变成被选项的
数组索引号(序列号)。选择第2个列表选单中的一个选项,
然后检查索引号。记住数组中的第1个选项的索引号是0。
<a href="#" onClick="alert('index is: ' +
window.document.form_1.list_1.selectedIndex);
return false;">check the index.</a>
表单的名称是form_1,列表选单的名称是list_1。
selectedIndex属性值为
window.document.form_1.list_1.selectedIndex。你还可
以将selectedIndex设置如下:
window.document.form_1.list_1.selectedIndex = 1;
并高亮度显示第2个选项。
一旦你得到被选项的索引号,你就可以发现其内容:
var the_select =
window.document.form_1.list_1;
var the_index =
the_select.selectedIndex;
var the_selected =
the_select.options[the_index].text;
selectedIndex属性很有用,但如果有多个选项同时被选中,
会如何呢?有关这方面的内容请阅读multiple selects。
选单元素的处理器为onChange()。当选单发生变化时,则
该处理器被激活。
>>
使用道具
举报
回复
显身卡
keaide
keaide
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
456
102
#
楼主
|
发表于 2006-5-28 22:04
|
只看该作者
第十页:在选单中应用onchange命令
尝试这个例子并阅读下面的注释:
My favorite animal is ...
dogs fish birds poodle puli greyhound .
注释一个比较复杂的JavaScript程序。首先,我们看看表单
本身:
<form name="the_form">
<select name="choose_category"
onChange=
"swapOptions(window.document.the_form.choose_category.options[selectedIndex].text);">
<option selected>Dogs
<option>Fish
<option>Birds
</select>
<select name="the_examples" multiple>
<option>poodle
<option>puli
<option>greyhound .
</select>
>/form>
该表单有两个元素:一个下拉选单和一个列表选单。下列
选单的处理器调用函数swapOptions()。该函数在首部已经
作了定义,其参数为- 被选的动物种类。
首部中我首先定义的几个数组:
使用道具
举报
回复
显身卡
keaide
keaide
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
456
103
#
楼主
|
发表于 2006-5-28 22:04
|
只看该作者
var dogs = new Array("poodle","puli","greyhound"
;
var fish = new Array("trout", "mackerel", "bass"
;
var birds = new Array("robin", "hummingbird", "crow"
;
注意这些数组的命名和下拉选单中的命名一致。很快你就会
明白为什么。现在我们看看当下拉选单被改变时被调用的
函数:
function swapOptions(the_array_name)
{
var numbers_select = window.document.the_form.the_examples;
var the_array = eval(the_array_name);
setOptionText(window.document.the_form.the_examples, the_array);
}
该函数的定义包括一个参数:the_array_name。如果打开下
拉选单并选择"Fish" ,则the_array_name就等同于字符串
"Fish"。
函数主体中第1行包括一个变量用于引用第2个表单元素:列
表选单。
使用道具
举报
回复
显身卡
keaide
keaide
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
456
104
#
楼主
|
发表于 2006-5-28 22:04
|
只看该作者
第2行引入一个新概念:eval()。eval()比较奇特,我们留
在以后的课程中讲解。第2行命令的这些结果是变量the_array
将等同于前面所定义的数组之一。如果the_array_name是
"Fish",the_array则等同于Fish数组。如果你想了解这是
怎么作的,请学习eval。
第3行定义另一个函数setOptionText()。setOptionText()
用于将the_array赋值给列表选单。以下为该函数内容:
function setOptionText(the_select, the_array)
{
for (loop=0; loop < the_select.options.length; loop++)
{
the_select.options[loop].text = the_array[loop];
}
}
该函数有两个参数:对选单元素的引用和一个数组。第1行
设立一个for循环,由于循环所有的选单元素。注意选单元
素的选项属性是该选单所有选项组成的数组。因为它是一个
数组,你可以用长度(length)属性发现数组的元素数目。
第1次循环时,循环变量值是0。循环的主体值为:
the_select.options[0].text = the_array[0];
如果你在下拉选单中选择了"Fish",则the_array[0]就是
"trout",所以该行命令将列表选单中的第1个选项改成
"trout" 。下一次循环时,循环等于1,并且列表选单中第2
个选项则是 "mackerel" 。
使用道具
举报
回复
显身卡
keaide
keaide
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
456
105
#
楼主
|
发表于 2006-5-28 22:04
|
只看该作者
注意,当你改变一个选项的文字时,并不能改变选单的尺寸,
所以如果你所改变后的文字很长的话,其后面的部分可能会
被切去。
变通方法是扩展选单的长度:
<option>greyhound 。
注意:我用了一个句号来扩展选单框的长度。这个办法很
管用。
如果你理解了该例子,你对JavaScript的了解就比较深了。
使用道具
举报
回复
显身卡
keaide
keaide
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
456
106
#
楼主
|
发表于 2006-5-28 22:05
|
只看该作者
OVER!
使用道具
举报
回复
显身卡
1 ...
3
4
5
6
7
8
9
10
11
/ 11 页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
国内数据库产品
.NET软件架构与模式
SAP相关文档
Oracle电子文档
医卫行业
Java入门与认证版
ERP产品与实践
SAP Business One开发与快速实施
Oracle专题深入讨论
HR产品与实践
网络系统集成 【已迁移到IXPUB】
物流与供应链
Java企业开发
IT服务管理
系统设计与建模
Oracle新技术
TOP
技术积分榜
社区积分榜
徽章
团队
统计
知识索引树
积分竞拍
文本模式
帮助
ITPUB首页
|
ITPUB论坛
|
数据库技术
|
企业信息化
|
开发技术
|
微软技术
|
软件工程与项目管理
|
IBM技术园地
|
行业纵向讨论
|
IT招聘
|
IT文档
ChinaUnix
|
ChinaUnix博客
|
ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有
联系我们
未成年人举报专区
京ICP备16024965号-8
北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
快速回复
返回顶部
返回列表