作者ckw (要昵称作啥)
看板Web_Design
标题Re: [问题] javascript动态下拉式选单
时间Mon Jul 3 17:25:13 2006
※ 引述《bigtq13 (Tabitha~)》之铭言:
[比较无关的恕删]
: <select name ='addrcounty' onchange='getData(this)' >
: <option value="台中" default>台中</option>
: <option value="台南">台南</option>
: </select>
这里的value给中文,
但是底下的script那边obj.value却是用1或2判断?
: <select name='addrcity'>
: <option value="万里">万里</option>
: <option value="佳兴">佳兴</option>
: </select>
: <select name='addrcity'>
: <option value="大里">大里</option>
: <option value="白河">白河</option>
: </select>
: <script language"javascript">
: function getData(obj){
: var dd = document.getElementById("row2");
: var ds = document.getElementById("row3");
: if(obj.value == 1){
^^^^^^^^^^^^^^
: dd.style.display = "block";
: ds.style.display = "none"; //hidden
: }
: if(obj.value == 2){
^^^^^^^^^^^^^^
: dd.style.display = "none"; // hidden
: ds.style.display = "block";
: }
: }
: </script>
: 这是别处文章做的修改,利用它做动态下拉式选单
: 但是传值到下一个页面时,使用request.getParameter("addrcity")取值
: addrcity因为选择第一个下拉式选单而选择不同select,所以不知道要怎麽命名第二个下
: 拉式选单,然後可以传值到下一个页面呢?
: 肯请高手指导
没必要管几个,要传的addrciry就只有一个。
你的设计应该只要画面上看得见的那一个而已。
选了台中或台南,就已经决定了要传送的addrcity是哪一个了。
只是display="none",看不见不代表该物件就不存在,要注意。
var addrcity = document.getElementsByName("addrcity");
此时addrciry是个阵列(因为你写了两个name="addrcity"),
[0]里面是万里/佳兴,[1]里面是大里/白河。
选了台中就传[0]的过去,选台南就传[1]的。
或者可以只写一个addrciry,但是动态地改变内容。
var addrcity = document.getElementsByName("addrciry")[0];
if (选台中){
addrcity.option[0] = new Option("万里","万里");
addrcity.option[1] = new Option("佳兴","佳兴");
}
else {
addrcity.option[0] = new Option("大里","大里");
addrcity.option[1] = new Option("白河","白河");
}
PS:new Option(text, value); (显示的文字, 背後的值)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.17.226
※ 编辑: ckw 来自: 59.120.17.226 (07/03 17:35)