`
jwen
  • 浏览: 62343 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

<select> 联动 ajax

    博客分类:
  • java
阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<%@ page language="java" import="java.util.*,java.lang.*" contentType="text/html; charset=GBK" pageEncoding="GBK"%>

<HTML>
<HEAD>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<meta http-equiv="Content-Type" content="text/xml;charset=GBK"/>
<META name="GENERATOR" content="IBM WebSphere Page Designer V3.5 for Windows">
<META http-equiv="Content-Style-Type" content="text/css">
<LINK rel="stylesheet" href="/doc/theme/normal.css">
<script Language="JavaScript" src="/doc/checkjs/timein.js"></script>
<script language="JavaScript" src="/doc/checkjs/check.js"></script>
<script language="javascript">

function addList(){
         
  var thelist=document.form1.leftlist;
  var theText=document.form1.theText.value;
  var theValue=document.form1.theValue.value;

  var theOption=new Option(theText,theValue);
  var thePostion=thelist.options.length;
   thelist.options[thePostion] =theOption;
 
}
function movlist(a,b){


var folist=document. form1.elements[a];
var tolist=document. form1.elements[b];
var theNum= folist.options.selectedIndex;

while(theNum>=0){

var theText=folist.options[theNum].text;
var theValue=folist.options[theNum].value;
var newOption=new Option(theText,theValue);
var theNum2=tolist.options.length;

tolist.options[theNum2]=newOption;

folist.options[theNum]=null;
theNum=folist.options.selectedIndex;

  }

}
function delLlis(){
    
    var theForm=document.form1;

var formNum1=theForm.leftlist.options.selectedIndex;
   if(formNum1>=0){
theForm.leftlist.options[formNum1]=null;

}
 
var formNum2=theForm.rightlist.options.selectedIndex;
if(formNum2>=0){
theForm.rightlist.options[formNum2]=null;
}
}
        var req;
        window.onload=function(){
        }
       
        function Change_Select()
        {
            var type=document.getElementById('DocumentType').value;
            var url="/doc/servlet/SelectServlet?type="+escape(type);
            if(window.XMLHttpRequest)
            {
                req=new XMLHttpRequest();
            }else if(window.ActiveXObject)
            {
                req=new ActiveXObject("Microsoft.XMLHTTP");
            }
           
            if(req)
            {
                req.open("GET",url,true);
                req.onreadystatechange=callback;
                req.send(null);
            }
        }
       
        function callback()
        {
            if(req.readyState == 4)
            {
                if(req.status == 200)
                {
                    parseMessage();
                }else{
                    alert("Not able to retrieve description"+req.statusText);
                }
            }
        }
       
        function parseMessage()
        {
            var xmlDoc=req.responseXML.documentElement;
            var xSel=xmlDoc.getElementsByTagName('select');
            var select_root=document.getElementById('skill');
            select_root.options.length=0;
           
            for(var i=0;i<xSel.length;i++)
            {
                var xValue=xSel[i].childNodes[0].firstChild.nodeValue;
                var xText=xSel[i].childNodes[1].firstChild.nodeValue;
                var option=new Option(xText,xValue);
                try{
                    select_root.add(option);
                }catch(e){
                }
            }
        }
</script>

<jsp:useBean id="dataBean" scope="request" class="initBean.BaseBean" />

<jsp:useBean id="uiBean" scope="request" class="initBean.PageBean" />
</HEAD>
<body>
<form name="form1" method="POST">
<br>
<TABLE width="353" border="0" align="center">
<tr>
<td width="309" colspan="2" align="left">
选择视图:
<SELECT fieldflag='Y' width="153" name='DocumentType' onChange="Change_Select()">
<OPTION value=>
</OPTION>
<OPTION value=wsView>
文书视图
</OPTION>
<OPTION value=kjView>
科技视图
</OPTION>
<OPTION value=zpView>
照片视图
</OPTION>
<OPTION value=htView>
合同视图
</OPTION>
</SELECT>
</td>
</tr>
</TABLE>
<table width="353" border="0" align="center">
<tr>
<td height=25 colspan=3>选择字段:(按住ctrl键可多选)</td>
</tr>
<tr>
<td width=119>
<select name="leftlist" id='skill' size="10" style="WIDTH: 119px;color:#666666" multiple="MULTIPLE">
</SELECT>
    </td>
<td width=65 align=center>
<input name="Submit2" type="button" value="添加 &gt;&gt;" onclick="movlist('leftlist','rightlist')" /><BR><BR>
<input name="Submit3" type="button" value="&lt;&lt; 删除" onClick="movlist('rightlist','leftlist')" />
</td>
<td width=119><select name="rightlist"  size="10" multiple="multiple"  style="WIDTH: 119px;color:#666666"></SELECT> </td>
</tr>
<tr>
<td colspan="3" align="center">
<input class=btn type="button" name="B1" value="确  定" onClick="commit(0)">
</tr>
</tr>
</table>
<input type="hidden" name="fieldnames">
</form>
<script language="JavaScript">
function commit(flag)
{
if(check('ok'))
{
window.document.form1.fieldnames.value="";
for (var i=0;i<window.document.form1.length;i++)
{
if(window.document.form1.item(i).fieldflag=="Y")
{
var temp1=window.document.form1.item(i).value;
temp1=YMYTrim(temp1);
if(temp1.length!=0)
{
window.document.form1.fieldnames.value=window.document.form1.fieldnames.value+","+window.document.form1.item(i).name;
window.document.form1.item(i).value=temp1;
}
}
}
var temp2=window.document.form1.fieldnames.value;
temp2=temp2.substring(1);
window.document.form1.fieldnames.value=temp2;
if(flag==0)
document.all.form1.action="/doc/servlet/system_data.viewWS";
document.all.form1.submit();
}
}
</script>
</body>
</html>

package system_data;

import java.io.IOException;
import java.sql.SQLException;
import java.util.Vector;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import initBean.BaseBean;

public class SelectServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public SelectServlet() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     *
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //response.setContentType("text/xml");
        //response.setHeader("Cache-Control","no-cache");
		response.setHeader("Cache-Control", "no-cache");
		response.setContentType("text/xml;charset=GBK");
//		response.setCharacterEncoding(arg0)
		response.setCharacterEncoding("GBK");
        BaseBean basebean = new BaseBean();
        String viewType=request.getParameter("type").toString();
        System.out.println(viewType);
        try {
        	String Sql="SELECT EN_NAME,CH_NAME FROM TABINFO WHERE viewType="+"'"+viewType+"'"+" and flag='0'";
			int count = basebean.queryRecordMulti(Sql,2);
			Vector vec = null;
			Vector vecItem = null;
	        String xml_start="<?xml version=\"1.0\" encoding=\"gb2312\"?>"+"<selects>";
	        String xml_end="</selects>";
	        String xml="";
		    vec = basebean.getRecords();
		    System.out.println(vec.size());
		    for(int i=0;i<vec.size();i++){
		    	vecItem=(Vector)vec.elementAt(i);
		    	String s1=((String)vecItem.elementAt(0)).trim();
		    	String s2=((String)vecItem.elementAt(1)).trim();
		    	if(i<2){
		    		xml="<select><value>"+s2+"</value><text>"+s1+"</text></select>";
		    	}else{
		    		xml +="<select><value>"+s2+"</value><text>"+s1+"</text></select>";
		    	}
		    }
		   // out.println("<?xml version=\"1.0\" encoding=\"gb2312\"?>");
		    String last_xml=xml_start+xml+xml_end;
	        response.getWriter().write(last_xml);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     *
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doGet(request,response);
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occure
     */
    public void init() throws ServletException {
        // Put your code here
    }

}
分享到:
评论

相关推荐

    Jquery实现的的动态无刷新的二级联动菜单

    基于jquery的用&lt;select&gt;实现二级动态联动菜单,里面用到jquer+ajax+json解析方面知识,通过无刷新去后台值实现的,可用性非常好,欢迎大家下载学习。

    Query实现的<select>动态二级联动菜单

    基于jquery的用&lt;select&gt;实现二级动态联动菜单,里面用到jquer+ajax+json解析方面知识,通过无刷新去后台值实现的,可用性非常好,欢迎大家下载学习。

    ajax实例大全 很实用的!

    &lt;tr&gt;&lt;td&gt;&lt;a href="1.4/select_menu.html"&gt;1.4多级联动菜单&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;a href="1.5/query_step.html"&gt;1.5条件设置向导&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;a href="1.6/word_tip.html"&gt;1.6页面关键词提示&lt;/a&gt;&lt;/td&gt;...

    jQuery ajax 多级联动 下拉框 Demo

    &lt;h2&gt; 省级联动&lt;/h2&gt; &lt;div class="city" &gt; &lt;select id="SelProvince" class="select"&gt;&lt;/select&gt; &lt;select id="SelCity" class="select"&gt;&lt;/select&gt; &lt;select id="SelArea" class="select"&gt;&lt;/select&gt; &lt;select id=...

    三级联动Ajax菜单(包含省市数据)

    三级联动Ajax菜单(包含省市数据) &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt; &lt;script type="text/javascript"&gt; var xmlHttp; var requestType=""; function ...

    .NET中实现客户端联动菜单 (无刷新)

    &lt;title&gt;Ajax实现无刷新三联动下拉框&lt;/title&gt; &lt;meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"&gt; &lt;meta content="C#" name="CODE_LANGUAGE"&gt; &lt;meta content="JavaScript" name="vs_...

    Ajax实现城市二级联动(一)

    &lt;option&gt;请选择&lt;/option&gt; &lt;option&gt;山东省&lt;/option&gt; &lt;option&gt;辽宁省&lt;/option&gt; &lt;option&gt;吉林省&lt;/option&gt; &lt;/select&gt; &lt;select id=city&gt; &lt;option&gt;请选择&lt;/option&gt; &lt;/select&gt; 2、javascript ...

    ajax简单例子

    一个ajax最简单的例子&lt;br&gt;1、没有用框架&lt;br&gt;2、mysql数据库&lt;br&gt;3、选择第一个select时,第二个随之变化&lt;br&gt;4、myeclipse工程&lt;br&gt;5、数据库代码是testAjax\mysqltest.sql

    Ajax结合php实现二级联动

    本文实例为大家分享了Ajax结合php实现二级联动的具体代码,使用ajax,从php中获取数据,具体内容如下 使用ajax,从php中获取数据 &lt;!DOCTYPE html&gt; &lt;... ...Ajax案例一&lt;... &lt;option&gt;吉林省&lt;/option&gt;

    ajax无限级Select下拉框联动数据库版

    ajax+ASP实现无限级Select下拉框联动,形成一个实用的多级菜单,读取Access数据库,本实例是一个6级的菜单,根据你的需要,你还可以进行扩展。它使用AJAX技术控制数据使用时才加载,提高程序效率,可以参考一下。

    JSP+AJAX实现两级select联动 代码

    个人制作的一个select联动菜单,效果还不错,代码很简单,select内容均从mysql数据库中取出的!

    Ajax实现城市二级联动(三)

    本文实例为大家分享了Ajax实现城市二级联动的具体代码,供大家参考,具体内容如下 这是Ajax实现城市二级联动系列文章第三篇,把之前2篇整合在一起 1、html &lt;select id="province"&gt; &lt;option&gt;请选择&lt;/option&gt; ...

    Ajax实现城市二级联动(二)

    上一篇联动一种只是城市用ajax请求获取并渲染,这里将省份也用ajax请求并渲染 1、HTML &lt;select id="province"&gt; &lt;option&gt;请选择&lt;/option&gt; &lt;/select&gt; &lt;select id="city"&gt; &lt;option&gt;请选择&lt;/...

    jquery ajax xml 实现select联动

    NULL 博文链接:https://yuan903-gmail-com.iteye.com/blog/424507

    ajax json select 多级联动

    动态创建option,采用json 对象解析后台动态数据。

    简单实现ajax三级联动效果

    本文实例为大家分享了ajax三级联动效果展示的具体代码,供大家参考,具体内容如下 主页面代码 &lt;!DOCTYPE html&gt; &lt;html lang=en&gt; &lt;head&gt; &lt;meta charset=UTF-8&gt; &lt;title&gt;Title&lt;/title&...

    ajaxdwr select二级联动

    ajaxdwr select二级联动

    省市区 ajax多级联动 select

    项目开发中写的 性能还没考虑到 不过很实用 jsp页面直接引用*.js文件 稍加修改 即可使用。可以实现无限级联动。

    基于Ajax实现下拉框联动显示数据

    公司做项目的时候,需要用到下拉框联动显示数据的功能,索性利用Ajax来实现,看到时间比较充裕,就没去找demo自己去想方法写了。纯自己的想法,有些可能比较弱智,希望不要见笑。 页面中的两个下拉列表框: &lt;tr&gt; ...

    自制的操作下拉列表框(SELECT)的三个jquery插件(ajax填充、联动、增加选项)

    自己做了三个专门用来操作下拉列表框(select)的jquery插件,一是通过ajax方式填充列表项的FillOptions, 二是下拉列表框的联动插件CascadingSelect,三是手动添加列表项的AddOption插件 具体说明请看这里 ...

Global site tag (gtag.js) - Google Analytics