1. 1.动态创建select
2.
3. function createSelect(){
4. var mySelect =&ateElement("select");
5. mySelect.id = "mySelect";
6. document.body.appendChild(mySelect);
7. }
8.
9. 2.添加选项option
10.
11. function addOption(){
12. //根据id查对象,
13. var ElementById('mySelect');
14. //添加一个选项
15. obj.add(new Option("文本","值")); //这个只能在IE中有效
16. obj.options.add(new Option("text","value")); //这个兼容IE与firefox
17. }
18.
19. 3.删除所有选项option
20.
21. function removeAll(){
22. var ElementById('mySelect');
23. obj.options.length=null;
24. }
25.
26. 4.删除一个选项option
27.
28. function removeOne(){
29. var ElementById('mySelect');
30. //index,要删除选项的序号,这里取当前选中选项的序号
31. var index=obj.selectedIndex;
32. ve(index);
33. }
34.
35. 5.获得选项option的值
36.
37. var ElementById('mySelect');
38.
39. var index=obj.selectedIndex; //序号,取当前选中选项的序号
js教程removechild40.
41. var val = obj.options[index].value;
42.
43. 6.获得选项option的文本
44.
45. var ElementById('mySelect');
46.
47. var index=obj.selectedIndex; //序号,取当前选中选项的序号
48.
49. var val = obj.options[index].text;
50.
51. 7.修改选项option
52.
53. var ElementById('mySelect');
54.
55. var index=obj.selectedIndex; //序号,取当前选中选项的序号
56.
57. var val = obj.options[index]=new Option("新文本","新值");
58.
59. 8.删除select
60.
61. function removeSelect(){
62. var mySelect =&ElementById("mySelect");
63. veChild(mySelect);
64. }
为了便于各位的调试,
我将代码进行了简化,取数据部分我去掉了,各位可修改成自己用的数据
我将代码进行了简化,取数据部分我去掉了,各位可修改成自己用的数据
二、说明
现将该设计中,用到的主要技巧列在下面
1。将数据动态填入js的数组
用如下3句话实现
out.print("<script>");
out.print("selprov[330000] = new Array(new Option('',''), new Option('..','goUp'), new Option('杭州地区','330100'), new Option('宁波地区','330200'), new Option('温州地区','330300'));");
out.print("</script>");
具体应用时,可以用循环,将数据不断的 out.print(", new Option(xxx,yyy)");添加进去
现将该设计中,用到的主要技巧列在下面
1。将数据动态填入js的数组
用如下3句话实现
out.print("<script>");
out.print("selprov[330000] = new Array(new Option('',''), new Option('..','goUp'), new Option('杭州地区','330100'), new Option('宁波地区','330200'), new Option('温州地区','330300'));");
out.print("</script>");
具体应用时,可以用循环,将数据不断的 out.print(", new Option(xxx,yyy)");添加进去
2.1。当选择了省份后,将地区信息填入地区列表
主要用了下面这个循环
主要用了下面这个循环
for(var i=0; i<selprov[hprov.value].length; i++){
harea.add(selprov[hprov.value][i]);
}
harea.add(selprov[hprov.value][i]);
}
2.2。当选择了地区后,将县市信息填入城市列表(实现方法同上)
4。用了隐含技巧,将3个select放入在同一行中的3个<td></td>中,
然后用<td >进行隐藏,每次3个<td>中,只有一项是可见的
如:当需要地区显示时,用如下js语句
d2.style.display="";
d1.style.display="none";
d3.style.display="none";
然后用<td >进行隐藏,每次3个<td>中,只有一项是可见的
如:当需要地区显示时,用如下js语句
d2.style.display="";
d1.style.display="none";
d3.style.display="none";
三、源代码
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>city</title>
<script language="JavaScript">
var selprov = new Array();
var selarea = new Array();
</script>
<%
out.print("<script>");
//对每个省的数组添加地区数据
out.print("selprov[330000] = new Array(new Option('',''), new Option('..','goUp'), new Option('杭州地区','330100'), new Option('宁波地区','330200'), new Option('温州地区','330300'));");
out.print("selprov[350000] = new Array(new Option('',''), new Option('..','goUp'), new Option('福州地区','350100'), new Option('厦门地区','350200'), new Option('泉州地区','35030
<head>
<title>city</title>
<script language="JavaScript">
var selprov = new Array();
var selarea = new Array();
</script>
<%
out.print("<script>");
//对每个省的数组添加地区数据
out.print("selprov[330000] = new Array(new Option('',''), new Option('..','goUp'), new Option('杭州地区','330100'), new Option('宁波地区','330200'), new Option('温州地区','330300'));");
out.print("selprov[350000] = new Array(new Option('',''), new Option('..','goUp'), new Option('福州地区','350100'), new Option('厦门地区','350200'), new Option('泉州地区','35030
0'));");
out.print("</script>");
out.print("</script>");
out.print("<script>");
//对每个省每个地区的数组添加县市数据
out.print("selarea[330100] = new Array(new Option('',''), new Option('..','goUp'), new Option('杭州市','330101'), new Option('萧山市','330102'), new Option('余杭市','330102'));");
out.print("selarea[330200] = new Array(new Option('',''), new Option('..','goUp'), new Option('宁波市','330201'), new Option('余姚市','330202'), new Option('奉化市','330203'));");
out.print("selarea[350100] = new Array(new Option('',''), new Option('..','goUp'), new Option('福州市','350101'), new Option('福清市','350102'), new Option('福xx市','350102'));");
out.print("</script>");
%>
<script>
//对每个省每个地区的数组添加县市数据
out.print("selarea[330100] = new Array(new Option('',''), new Option('..','goUp'), new Option('杭州市','330101'), new Option('萧山市','330102'), new Option('余杭市','330102'));");
out.print("selarea[330200] = new Array(new Option('',''), new Option('..','goUp'), new Option('宁波市','330201'), new Option('余姚市','330202'), new Option('奉化市','330203'));");
out.print("selarea[350100] = new Array(new Option('',''), new Option('..','goUp'), new Option('福州市','350101'), new Option('福清市','350102'), new Option('福xx市','350102'));");
out.print("</script>");
%>
<script>
</script>
<script>
function prov_chg()
{
with (document.all){
if(hprov.value) {
var ln = harea.options.length;
while(ln--) {
harea.options[ln] = null;
}
ln = hcity.options.length;
while(ln--) {
hcity.options[ln] = null;
}
for(var i=0; i<selprov[hprov.value].length; i++){
harea.add(selprov[hprov.value][i]);
function prov_chg()
{
with (document.all){
if(hprov.value) {
var ln = harea.options.length;
while(ln--) {
harea.options[ln] = null;
}
ln = hcity.options.length;
while(ln--) {
hcity.options[ln] = null;
}
for(var i=0; i<selprov[hprov.value].length; i++){
harea.add(selprov[hprov.value][i]);
}
}
}
if(document.form1.hprov.value != "")
{
d2.style.display="";
d1.style.display="none";
d3.style.display="none";
}
else {
}
}
}
}
if(document.form1.hprov.value != "")
{
d2.style.display="";
d1.style.display="none";
d3.style.display="none";
}
else {
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论