请教selection的关联更新的问题,高手请看,:-)

minitigger 2002-06-13 09:54:17
有两个selection,怎么实现selection2的内容根据selection1的用户选择来更新。使用onchange事件然后调用servlet可以实现,但是页面会产生抖动,所以想用script实现,还请多多指教,谢谢。
开发环境:jdeveloper,oracle,weblogic.
client:windows2000 pre
server:IBM m85
...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xg_delayth 2002-06-13
  • 打赏
  • 举报
回复
我写了几个函数不知道对你是否有用,可以直接使用
//--- 方法名: changeSelectOption(ASlcChange,AChangeArray,ANameArray,AMode,ASelectedValue,ACompartChar)
//--- 功能: 改变下拉框ASlcChange中的选项
//--- 返回:
//--- ASlcChange : 要改变的下拉框
//--- AChangeArray : 用来改变下拉框的数组
//--- ANameArray : options各项如 {value,text} 等
//--- AMode : 标志改变的方式 0-全替换,1-除第一项外全替换,2-在后面添加
//--- ASelectedValue : 根据选中等同ANameArray的第一个值
//--- ACompartChar : 分隔符,分隔字符串
//--- 创建日期: 2001-09-06 最近更新日期: 2001-09-06
//--- 创建程序员: xg_delayth 最近更新程序员: xg_delayth
//--- 维护程序员: xg_delayth
//--- 不足之处:没有设定默认值
//--- 举例:
//--- var arrayClassValue=new Array("35^采购单","82^商品加工单");
//--- var arrayClassName=new Array("value","innerText");
//--- changeSelectOption(f1.SHEET_CLASS,arrayClassValue,arrayClassName,2,'35','^');
function changeSelectOption(ASlcChange,AChangeArray,ANameArray,AMode,ASelectedValue,ACompartChar){
var tempOption;
var tempLength;
var tempArray;
var i;
//--- 去掉多余的下拉框选项
switch(AMode){
case 0:
selectClear(ASlcChange,false);
break;
case 1:
selectClear(ASlcChange,true);
break;
case 2:
default:
}
//--- 加上所要的选项
for(i = 0; i < AChangeArray.length; i ++){
//--- 分割value和text值
tempArray = AChangeArray[i].split(ACompartChar);
tempOption = document.createElement("OPTION");
//--- 赋值
for(j=0;j<ANameArray.length;j++){
eval("tempOption."+ANameArray[j] + "= tempArray[j]");
if(0==j && ASelectedValue==tempArray[j]){
tempOption.selected=true;
}
}
ASlcChange.appendChild(tempOption);
}
}
//***************************************************************************************************
//--- 方法名: selectClear(ASlcClear,AHaveFirst)
//--- 功能: 按要求清空下拉框中的值
//--- 返回
//--- ASlcClear:要清空的下拉框
//--- AHaveFirst:是否要删除第一个选项,true删,false保留
//--- 创建日期: 2001-07-27 最近更新日期: 2001-07-27
//--- 创建程序员: xg_delayth 最近更新程序员: xg_delayth
//--- 维护程序员: xg_delayth
//--- 举例:
function selectClear(ASlcClear,AHaveFirst){
var tempChildren = ASlcClear.children;
var tempLength = tempChildren.length;
var i=0;
if (AHaveFirst == false){i=1;}
if (tempLength > i){
for (;tempLength > i;tempLength--){
ASlcClear.remove(tempLength-1);
}
}
}
//***************************************************************************************************
skimeister 2002-06-13
  • 打赏
  • 举报
回复
<select onchange="getData.src='xxx.jsp?xxxx='+this.value">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>

<script id="getData" src="">//从服务器读得数据并以JS形式输出</script>
希默软件 2002-06-13
  • 打赏
  • 举报
回复
http://51js.1000box.net/showmsg.php?bo=3&msgid=40427

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧