jsp中下拉菜单的问题

kakavic 2006-09-26 08:59:14
有三个下拉菜单,当在第一个下拉菜单中选中一个选项,第二个菜单中的选项会根据第一个的选择,从数据库读取相关的信息,并刷新第二个里面的内容;当再选完第二个时,同前面一样,刷新第三个,第三个也从数据库里面读取。请给出详细答案。谢谢
...全文
652 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
fansy007 2006-09-26
  • 打赏
  • 举报
回复
<th>
条件1
</th>
<td>
<tag:select property="di1SortKey" currentValue="${fodStkRpyBasForm.di1SortKey}"
groupId="P_ALL_SORT_KBN" id="parent" onchangeEvt="selectchange(id, 'select')" />
</td>
<th>
条件2
</th>
<td>
<tag:select property="di2SortKey" currentValue="${fodStkRpyBasForm.di2SortKey}"
groupId="P_LST_HYUKSNEK_SORT_KEY" id="select0" />
<tag:select property="di2SortKey" currentValue="${fodStkRpyBasForm.di2SortKey}"
groupId="P_LST_HYUKSNEK_SORT_KEY" id="select1" />
<tag:select property="di2SortKey" currentValue="${fodStkRpyBasForm.di2SortKey}"
groupId="P_LST_KSSI_KJTSORT_KEY" id="select2" />
<tag:select property="di2SortKey" currentValue="${fodStkRpyBasForm.di2SortKey}"
groupId="P_LST_KSSI_KJTSORT_KEY" id="select3" />
</td>



function selectchange(id,target){

lenPerSel = window.document.getElementById(id).length;

idxPerSel = window.document.getElementById(id).selectedIndex;


for (i=0 ; i<lenPerSel ; i++) {

window.document.getElementById(target+i).style.display = "none";
}

window.document.getElementById(target+idxPerSel).style.display = "";

}
erweizi 2006-09-26
  • 打赏
  • 举报
回复
支持楼上的
tiangi 2006-09-26
  • 打赏
  • 举报
回复
onchange的时候提交到<iframe>里,就可以避免刷新页面了,结合js
xinfudepangbian 2006-09-26
  • 打赏
  • 举报
回复
ajax实现
RincleWoo 2006-09-26
  • 打赏
  • 举报
回复
使用ajax实现吧,避免页面刷新
选了第一个后,发送id到servlet,servlet根据id查询数据再out.print给ajax
ajax接收完数据就构造第二个下拉菜单
依此类推
怡静如诗 2006-09-26
  • 打赏
  • 举报
回复
哈哈,楼上的,想分想疯了吧~~~~
羽佳0627 2006-09-26
  • 打赏
  • 举报
回复
问题太简单,再加50分可能会有人愿意回答
怡静如诗 2006-09-26
  • 打赏
  • 举报
回复
...
够懒,自己写一个呀~~~
第一个onchange()提交
第二个onchenge()提交
yougucao379548695 2006-09-26
  • 打赏
  • 举报
回复
<script language="JavaScript">
function e_change(){
var id = form1.bigclassid.value;
var ds = new XMLDatastore();
ds.init();
ds.createNew();
var response = httpRequest("post","","option.smallclass.do?bigclassid="+id);
form1.smallclassid.options.length=0;
var no1 = new Option();
no1.value = "";
no1.text = "请选择小类";
form1.smallclassid.options.add(no1);
if(ds.loadXML(response) == true){
var dsrows = ds.rowCount();
for(i=0;i<dsrows;i++)
{
var rowNo = i + 1;
var no = new Option();
no.value = ds.getItemByName(rowNo,"smallclassid");
no.text = ds.getItemByName(rowNo,"smallclassname");
form1.smallclassid.options.add(no);
}
}
ds.destroy();
}
</script>

参考下!
yougucao379548695 2006-09-26
  • 打赏
  • 举报
回复
使用ajax实现吧,避免页面刷新
选了第一个后,发送id到servlet,servlet根据id查询数据再out.print给ajax
ajax接收完数据就构造第二个下拉菜单
依此类推


支持这个!
wcjmaomao 2006-09-26
  • 打赏
  • 举报
回复
没什么好说的拉!改说的都给别人说拉!
  • 打赏
  • 举报
回复
我还说啥呢 顶
shuai007 2006-09-26
  • 打赏
  • 举报
回复
顶顶

-----------------------------
http://www.5ai7.net/
buyaowen 2006-09-26
  • 打赏
  • 举报
回复
推荐ajax,呵呵
gj_wyl 2006-09-26
  • 打赏
  • 举报
回复
onchange()

81,092

社区成员

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

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