求大神解答:我每次打开网页都先运行
<%
String k=request.getParameter("k");
DocDAO yDAO1 = new DocDAO();
List<DocModel> y = yDAO1.getKsys(k);
%>
这段代码,我要怎么处理才能在我触发了 onchange="getK1()"之后在执行呢,
这个是我自己做的一个select二级联动,根据 select : k 的选择 从数据库提取数据,在赋值给 select :y,
因为每次打开页面就执行上面的代码, 在触发onchange的时候就不执行了,返回的永远是空值,我不会弄,求大神帮忙,分数有限,望谅解。有说用sevlet 和 Action的,本人初学,不会用,
主要是在哪里取值,怎么取值,在赋值给select : y
<script LANGUAGE="JavaScript"> function getK1(){
<%
String k=request.getParameter("k");
DocDAO yDAO1 = new DocDAO();
List<DocModel> y = yDAO1.getKsys(k);
%>
var firstObj = document.forms[0].k;
var secondObj = document.forms[0].y;
var len = secondObj.options.length;
for(var i =0;i<len;i++){
secondObj.options.remove(i);
}
<%
for(DocModel model2 : y){
%>
var selectedValue = <%=model2.getKbh()%>
var selectedText = <%=model2.getKmc()%>
var newItem = new Option(selectedText,selectedValue);
secondObj.options.add(newItem);
<%
}
%>
}
</script>
JavaScript 和 select二级联动问题,请给出处理代码和具体方法
答案:2 悬赏:60 手机版
解决时间 2021-01-25 21:02
- 提问者网友:贪了杯
- 2021-01-25 16:54
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-01-25 17:30
select联动 一般用AJAX来做会比较简单
就是说选择第一级的时候 用onchange事件获取到当前选择的 值 然后 ajax请求一个服务端程序 根据这个id返回 第二级,然后用json格式返回,再创建第二个select 如此递推可做 无限级下拉选择
就是说选择第一级的时候 用onchange事件获取到当前选择的 值 然后 ajax请求一个服务端程序 根据这个id返回 第二级,然后用json格式返回,再创建第二个select 如此递推可做 无限级下拉选择
全部回答
- 1楼网友:人间朝暮
- 2021-01-25 18:18
首先js是区分大小写的,onChange方法是当下拉列表的值改变时才会激发,激发后可以采用以下方案:
1.通过ajax动态的去后台取得一个json数组对象,然后将联动的下拉选所有的option都remove掉,然后再options.add进去新获得的数组中的值,学编程不能急于求成,前后台的语言和互通性都需要学习,感觉你的前台基本功还是有的,但是还需要对后台有一定的了解和系统的学习,否则你的下拉选就不会是动态的获得数据,而是写死在页面上的一个数组了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯