ajax struts2 下拉框赋值(适合所有)

1.此代码适合所有下拉列表取值

2.一个项目所有的下拉列表只需要这一个公用方法;

步骤一:创建实体bean;

复制代码 代码如下:

public class DictionaryBean {

private String value_Id;//下拉框option的id

private String value;//下拉框option的值

private String flag;//对应下拉框的值的类型,如flag=1,下拉列表为省份信息,flag=2为市级信息等;

public String getValue_Id() {

return value_Id;

}

public void setValue_Id(String valueId) {

value_Id = valueId;

}

public String getValue() {

return value;

}

public void setValue(String value) {

this.value = value;

}

public String getFlag() {

return flag;

}

public void setFlag(String flag) {

this.flag = flag;

}

}

步骤二 在你action里面写个如下取listbean的方法,listbean封装的是 bean.valueId 和bean.value;

复制代码 代码如下:

/**

*

* @author ZhuangZi

* @class com.hzdracom.action.DictionaryAction

* @method listDictionary

* @Directions 获取下拉列表信息公用方法

* @date 2013-3-21上午10:08:39 void

*/

public void listDictionary(){

String json="";

try{

listDictionary = dictionaryService.handleListDictionary(bean);

json=JSON.toJSONString(listDictionary);//转换成json字符串

HttpServletResponse response=ServletActionContext.getResponse();

response.setContentType("text/html");

response.setCharacterEncoding("utf-8");

PrintWriter out;

out = response.getWriter();

out.println(json);

out.flush();

out.close();

}catch(Exception e){

e.printStackTrace();

}

}

sturts.xml 配置信息

复制代码 代码如下:

<action name="listDictionary" method ="listDictionary" class="com.hzdracom.action.DictionaryAction">

     </action>

步骤三 封装公用js代码js文件名字 dictionary.js

复制代码 代码如下:

/**

*↓↓↓↓↓↓↓↓↓↓

*作者:ZhuangZi

*类名:公用方法初始化

*功能:公用方法初始化

*详细:公用方法初始化

*版本:1.0

*日期:2013-03-22

*说明:

*↑↑↑↑↑↑↑↑↑↑

*/

$(function(){

/*1.下拉框取值↓↓↓*/

selectBox([

复制代码 代码如下:

{id_:"#down_type",id:"#downtype" ,flag:"2"},

{id_:"#kuai_flag",id:"#kuaiflag" ,flag:"3"}]);

//selectBox{[{id_:"你的下拉框的被选中值的ID",id:"下拉框的ID",flag:"下拉框值的类型"}]};

复制代码 代码如下:

//有一个{id_:"#kuai_flag",id:"#kuaiflag" ,flag:"3"}这种对象就有一个下拉框信息;

});

/**

*↓↓↓↓↓↓↓↓↓↓

*作者:ZhuangZi

*类名:获取下拉框值公用方法

*功能:下拉列表取值

*详细:加载下拉列表

*版本:1.0

*日期:2013-03-22

*说明:如果新加一个下拉框 需要给数组list添加一个对象

*参数:id_:下拉框被选中值的ID;id:下拉框ID;flag:下拉框值的类型,即显示内容类型

*↑↑↑↑↑↑↑↑↑↑

*/

function selectBox(list){

for ( var i = 0,len = list.length; i < len; i++) {

(function(bean){

var pageId=$(bean.id_).val();

$.ajax({

type:'post',

url:'../dictionary/listDictionary.do',

data:'bean.flag='+bean.flag,

dataType:'json',

success:function(json){

for(var i=0; i< json.length;i++){

$(bean.id).append("<option value='"

+json[i].value_Id+"'>"

+json[i].value+"</option>");

if(pageId !=null && pageId!="" && pageId==json[i].value_Id){

$(bean.id).find("option").attr("selected",true);

}

}

},

error:function(){

alert('error');

}

});

})(list[i]);

}

}

步骤四 页面信息 下面隐藏域信息 ,就是你选某项查询后,它就会被选中的值

引入js

复制代码 代码如下:

<script language="javascript1.2" src="<s:url value="/js/jquery.js" includeParams="false"/>"></script>

<script language="javascript1.2" src="<s:url value="/js/dictionary.js" includeParams="false"/>"></script>

复制代码 代码如下:

<s:hidden id="down_type" name="yhaoPortalsDownBean.downType"/>

<td width="25%" height="33" class="addtabletd1">下载类型标识:</td>

<td width="25%" height="33" class="addtabletd2">

<select id="downtype" name="yhaoPortalsDownBean.downType" class="textfrom" class="width:120" >

<option value="">---所有---</option>

</select>

</td>

步骤五 附加信息 dao里面方法 下面方法用到的flag 就是js里面flag传的值

复制代码 代码如下:

public List<DictionaryBean> handleListDictionary(DictionaryBean bean)throws DataAccessException,Exception {

List<DictionaryBean> list = new ArrayList<DictionaryBean>();

try{

String sql="";

/* 获取页面下拉列表*/

if (bean.getFlag().equals("1")) {

sql = "SELECT PAGE_FLAG VALUE_ID,PAGE_NAME VALUE FROM YHAO_PORTALS_PAGE";

}

/* 获取下载类型标识下拉列表*/

if (bean.getFlag().equals("2")) {

sql = " SELECT DOWNTYPE_FLAG VALUE_ID,DOWNTYPE_NAME VALUE FROM YHAO_PORTALS_DOWNTYPE ";

}

/* 获取块标识下拉列表*/

if (bean.getFlag().equals("3")) {

sql = " SELECT KUAI_FLAG VALUE_ID,KUAI_NAME VALUE FROM YHAO_PORTALS_KUAI ";

}

list = this.query(sql,new DictionaryList());

}catch(Exception e){

e.printStackTrace();

}

return list;

}

好了已经完成了。

时间: 2024-10-10 15:52:13

ajax struts2 下拉框赋值(适合所有)的相关文章

AJAX级联下拉框的简单实现案例

 本篇文章主要是对AJAX级联下拉框的简单实现案例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 需要的JAVA类    代码如下: package com.ajaxlab.ajax;  import java.util.ArrayList;  import java.util.Collection;  import java.util.Iterator;  import org.jdom.Document;  import org.jdom.Element;  import org.

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

公司做项目的时候,需要用到下拉框联动显示数据的功能,索性利用Ajax来实现,看到时间比较充裕,就没去找demo自己去想方法写了.纯自己的想法,有些可能比较弱智,希望不要见笑. 页面中的两个下拉列表框: <tr> <td style="width: 130px"> 所在学院:</td> <td style="width: 100px"> <select id="college" style=&q

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

公司做项目的时候,需要用到下拉框联动显示数据的功能,索性利用Ajax来实现,看到时间比较充裕,就没去找demo自己去想方法写了.纯自己的想法,有些可能比较弱智,希望不要见笑. 页面中的两个下拉列表框: <tr> <td style="width: 130px"> 所在学院:</td> <td style="width: 100px"> <select id="college" style=&q

AJAX实现下拉框联动

想当年,为了实现三级联动,找个js高手些了N多代码才搞定,但是很慢,因为一次要将所有的选项取来,然后排序,查找动态显示. 现在使用AJAX真是太方便了,下面做了个简单例子,实现下拉框的省市联动,效果图如下: 实现代码: a.html <html> <body> <script language="JavaScript"> var req = null; function test() { var province = document.all(&qu

ajax级联下拉框

问题描述 学校已经是动态读取了,根据学校读取年级,根据年级读取到班级!是从数据库里读的!ajax访问即可!求大神指点一二! 解决方案 解决方案二:在学校的onchange事件中,发送ajax请求啊.解决方案三:首先第一个下拉框选中一条数据以后,出发onchange时间,利用Ajax去后台根据你选的数据查询数据,然后拼字符串,再在前台将option拼出来..这是思路,具体的实现代码网上有很多.解决方案四:2楼正解解决方案五:二楼正解解决方案六:楼上都是正解解决方案七:5楼才是正解解决方案八:这就是

Ajax联动下拉框的实现例子(.net)

这是采用ajax技术,刷新是肯定的,是在我们察觉不到的速度完成.XMLHTTP牺牲页面的方法,我们之所以看不见刷新,是因为所有的工作都是在牺牲页面上进行的,里面"翻江倒海"的"折腾",我们看不见,效率上差些! AjaxPro.dll 下载地址 http://ajaxpro.schwarz-interactive.de/download/ajaxpro.zip Web.Config <?xml version="1.0"?> <c

jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态_jquery

功能:省,市,地区三级联动,采用jquery ajax 取数据绑定,页面刷新或提交后选定值能保存并保持选中状态 把以下代码放在一个单独的js文件中,在页面上引用即可调用 复制代码 代码如下: //获取cookie值function readCookie(name) {    var cookieValue = "";    var search = name + "=";    if (document.cookie.length > 0) {       

AJAX级联下拉框的简单实现案例_AJAX相关

需要的JAVA类 复制代码 代码如下: package com.ajaxlab.ajax; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; import com.ajaxlab.ajax.ProductClas

ASP.NET中Ajax改变下拉框动态生成表格的实例

1.建立一个aspx页面,html代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> <script type="text/javascript"> var xmlHttp; function createXMLHttpRequest() {