81,122
社区成员




<form id="ajaxForm" method="get">
<input id="typeid" type="text" value=0 />
<input id="categoryid" type="text" value=2 />
<input id="language" type="text" value=""/>
</form>
<ul class="select">
<li class="select-list">
<dl id="select1">
<dt>成果类型:</dt>
<dd class="select-all selected"><a href="javascript:Filter('typeid','0')" >全部</a></dd>
<s:iterator value="listType" id="row">
<dd>
<a href="javascript:Filter('typeid','<s:property value="#row.typeid"/>')" ><s:property value="#row.typename"/></a>
</dd>
</s:iterator>
</dl>
</li>
<li class="select-list">
<dl id="select2">
<dt>所属学科:</dt>
<dd class="select-all selected"><a href="javascript:Filter('categoryid','0')" >全部</a></dd>
<s:iterator value="listCate" id="row">
<dd>
<a href="javascript:Filter('categoryid','<s:property value="#row.categoryid"/>')"><s:property value="#row.categoryname" /></a>
</dd>
</s:iterator>
</dl>
</li>
<li class="select-list">
<dl id="select3">
<dt>语言:</dt>
<dd class="select-all selected"><a href="javascript:Filter('language','')">全部</a></dd>
<dd><a href="javascript:Filter('language','中文')" >中文</a> </dd>
<dd><a href="javascript:Filter('language','English')">English</a> </dd>
</dl>
</li>
<li class="select-result">
<dl>
<dt>已选条件:</dt>
<dd class="select-no">暂时没有选择过滤条件</dd>
</dl>
</li>
</ul>
</div>
function Filter(id, value){
document.getElementById(id).value = value;
// document.forms['ajaxForm'].submit();
toPage(1);
return false;
}
//分页
function toPage(index){
$.ajax({
url :"sList.action?pager.pageIndex"+index, //后台处理程序
data:{//设置数据源
typeid:$("input[name=typeid]").val(),
categoryid:$("input[name=categoryid]").val(),
language:$("input[name=language]").val()
},
type:"post", //数据发送方式
async:false,
dataType:"json", //接受数据格式
error: function(){
alert("服务器没有返回数据,可能服务器忙,请重试");
},
success: function(){
// var listArray = eval(json).titlelist;
$("#searchResult").html(data);
}
});
}
package com.action;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.opensymphony.xwork2.ActionSupport;
import com.orm.Pager;
import com.service.ILiteratureService;
public class temp extends ActionSupport {
private int typeid;
private int categoryid;
private String language;
private Pager pager;
@Resource(name="literatureService")
private ILiteratureService litService;
private static final long serialVersionUID = 1L;
private HttpServletRequest request;
private String result;
public void setServletRequest(HttpServletRequest arg0) {
this.request = arg0;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String execute() throws Exception {
try{
int tid = Integer.parseInt(request.getParameter("typeid"));
int cid = Integer.parseInt(request.getParameter("categoryid"));
//String language = l.getLanguage();
String lg = request.getParameter("language");
pager = litService.search(pager.getPageIndex(), 5, tid, cid, lg);
return "searchSUCCESS";
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
public int getTypeid() {
return typeid;
}
public void setTypeid(int typeid) {
this.typeid = typeid;
}
public int getCategoryid() {
return categoryid;
}
public void setCategoryid(int categoryid) {
this.categoryid = categoryid;
}
public Pager getPager() {
return pager;
}
public void setPager(Pager pager) {
this.pager = pager;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
}
<input id="typeid" type="text" value=0 />
<input id="categoryid" type="text" value=2 />
<input id="language" type="text" value=""/>
jsp中定义的id属性,当然要用id获取了
var typeId = $("#typeid").val();
var categoryId=$("#categoryid").val();
var language=$("#language").val();
2,后台用struts2,那就在jquery中拼json格式时要给key加上引号。
data:{//设置数据源
“typeid”:$("input[name=typeid]").val(),
“categoryid”:$("input[name=categoryid]").val(),
“ language”:$("input[name=language]").val()
},
3,最后在struts的action中定义typeid,categoryid和language三个变量,并给其设置get和set方法,你就无需用getParameter方法获取变量值了,struts会帮你赋值的。你只需要保证三个变量名和jquery传过来json格式数据中三个key相同并且具有get和set方法即可。最后你只需在需要的方法中调用变量使用。
var typeId = $("#typeid").val();
var categoryId=$("#categoryid").val();
var language=$("#language").val();
z这三个值分别用变量储存,然后用chrom的审查元素,设个断点调控,看看有没有获取到值,然后你就可以清楚知道问题在哪了