当前位置: 代码迷 >> Java Web开发 >> 上拉框的onchange事件
  详细解决方案

上拉框的onchange事件

热度:5449   发布时间:2013-02-25 21:11:45.0
下拉框的onchange事件
我说下大体需求吧
省市二级联动select下拉框,需要在选择的时候触发onchange事件,在查询界面下方以DIV的形式展示(将数据从数据库提取出来),有人能说下具体思路和关键代码么?


------解决方案--------------------------------------------------------
在onchange事件了,把当前的查询条件传到后台(form.submit()),
然后再把后台查询结果在前台的div里显示就可以了。。。
------解决方案--------------------------------------------------------
就是在select控件的onchange事件的最后加上 XXXXform.submit();
以把查询条件传到action里。

然后再Action里根据传来的查询条件(form中取)来得到查询结果,
再用request.setAttribute()把结果传到jsp页面,
最后用logic:iterater标签显示。

没法再说明白了。

探讨

引用:

在onchange事件了,把当前的查询条件传到后台(form.submit()),
然后再把后台查询结果在前台的div里显示就可以了。。。

忘了说 网页是用的JSP
还是不太明白

------解决方案--------------------------------------------------------
用dwr 在onchange的时候调用后台的方法,弹出div层,显示数据
------解决方案--------------------------------------------------------
二级联动 你不用ajax!!!!!!!!!!

建议楼主 趁早看看 早晚都得用

推荐ajax框架 dwr 跟spring集成 做异步刷新 so easy
------解决方案--------------------------------------------------------
用jquery实现,得用异步传输。百度搜下,有写好的现成的
------解决方案--------------------------------------------------------
建议使用jquery $.post(url, [data], [callback], [type])
------解决方案--------------------------------------------------------
可以参考一下我写的dom解析xml实现省市区动态级联,你主要看jsp里的ajax就行了,我的那个实现了三个级联,你的需求比我的简单很多。
------解决方案--------------------------------------------------------
用ajax吧 这个比较方便 可以通过链接直接把参数带到后台,返回一个json格式你就可以取到值了
------解决方案--------------------------------------------------------
二级的级联需要ajax吗?用两个数组不就行了,一个是省份的一个是城市的!根据省省份索引把数据舔到第二 个下拉框中,第二单击记得要把下面城市的下拉列表清空掉,不然第二次的时候第一次的数据还在!把length改成0就行了!
------解决方案--------------------------------------------------------
利用json,在页面写js代码,当onchange()触发时,在js里面取得相应的省份下的所有市
------解决方案--------------------------------------------------------
用jquery,采用异步调用方式,从后台传过值来后动态添加到div中
具体方法是:
一、jsp加入jquery.js:<script type="text/javascript" src="js/jquery-1.6.2.js"></script>,我们用的是jquery-1.6.2;
二、在onchange调用的js函数中

function test(){
$.ajax({
url:"调用后台获取值的url", //前后台交互
dataType:"json",
type:"post",
data:{向后台传的参数值(例如-'test':'1')},
beforeSend:function(data,status,g){
bufferdiv();
},
success:function(data){
var obj = eval(data);
var result= obj["result"];
if(result=="true")
{
alert("成功!";
/*向你的div中动态添加数值*/
}
},
error:function(data,status,g){
alert("error:"+status+g);
},
complete:function(data,status,g){

}
});
}
------解决方案--------------------------------------------------------
二级联动, 一级分类改变后,二级分类内容改变。

html:
HTML code
<script language="javascript" src="<%=request.getContextPath() %>/appjsps/jsp/ipm/planhs/one_task_tb.js"></script><table cellpadding="0" class="tblContent">        <tr>            <td class="tdTitle">一级分类</td>            <td class="tdRight" width="120px">                <select id="trans_sel" style="margin-right: 20px" onchange="transSelChange()">                    <option value='-1'> -- 请选择一级分类 -- </option>                </select>            </td>            <td class="tdTitle">二级分类</td>            <td class="tdRight" width="120px">                <select id="nextowner_sel" style="margin-right: 60px">                    <option value='-1'> -- 请选择二级分类 -- </option>                </select>            </td>        </tr>    </table>