この記事の例では、参考として、セカンダリ リンケージの選択ドロップダウン メニューの JS 実装を共有します。具体的な内容は次のとおりです。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script language="JavaScript" type="text/javascript"> //定义了城市的二维数组,里面的顺序跟省份的顺序是相同的。通过selectedIndex获得省份的下标值来得到相应的城市数组 var city=[ ["北京","天津","上海","重庆"], ["南京","苏州","南通","常州"], ["福州","福安","龙岩","南平"], ["广州","潮阳","潮州","澄海"], ["兰州","白银","定西","敦煌"] ]; function getCity(){ //获得省份下拉框的对象 var sltProvince=document.form1.province; //获得城市下拉框的对象 var sltCity=document.form1.city; //得到对应省份的城市数组 var provinceCity=city[sltProvince.selectedIndex - 1]; //清空城市下拉框,仅留提示选项 sltCity.length=1; //将城市数组中的值填充到城市下拉框中 for(var i=0;i<provinceCity.length;i++){ sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]); } } </script> </HEAD> <BODY> <FORM METHOD=POST ACTION="" name="form1"> <SELECT NAME="province" onChange="getCity()"> <OPTION VALUE="0">请选择所在省份 </OPTION> <OPTION VALUE="直辖市">直辖市 </OPTION> <OPTION VALUE="江苏省">江苏省 </OPTION> <OPTION VALUE="福建省">福建省 </OPTION> <OPTION VALUE="广东省">广东省 </OPTION> <OPTION VALUE="甘肃省">甘肃省 </OPTION> </SELECT> <SELECT NAME="city"> <OPTION VALUE="0">请选择所在城市 </OPTION> </SELECT> </FORM> </BODY> </HTML>
このコードは比較的単純です。
js に詳しくない場合は、js による選択オブジェクトの処理 に関する次のコンテンツを参照してください:
1. selectedIndex 属性を使用して、現在のオプションのインデックスを取得します
ドロップダウン ボックスのオプションは線形配列であり、各オプションにはインデックスがあり、selectedIndex は現在選択されているオプションのインデックス番号を表します。 options 属性と組み合わせると、選択したオプション オブジェクトを取得してさらに処理することができます。ドロップダウン ボックスで複数の選択ができる場合、selectedIndex プロパティは最初に選択されたインデックスを返します。
selectedIndex は読み取り専用のプロパティです。インデックスで指定されたドロップダウン ボックス内の項目を選択状態に設定したい場合は、オプション オブジェクトの selected=true を設定します。
2. 選択オブジェクトにオプションを追加します
sltCity[i+1]=新しいオプション(provinceCity[i],provinceCity[i]);
new Option(provinceCity[i],provinceCity[i]) は、provinceCity[i] の値と、sltCity のテキストを持つオプション オブジェクトを作成することを意味します。i+1 は、ページ上の位置を指定します。新しいオプションの。
3. 選択したオブジェクトをクリアします
ドロップダウン ボックスのすべてのオプションを削除するには 2 つの方法があります。
最初の方法は、走査して削除することです:
var l=myselect.length; for(var i=0;i<l;i++){ myselect.options[i]=null; }
2 番目の方法は比較的単純なので、この方法が一般的に使用されます。
myselect.length=0;