解决方案 »
- 关于纵向javascript相册
- 求解,图像转换问题
- 想通过函数改变以下iframe的高度,这个javascript怎么写?
- javascripte里数据库查询出来的数据保存到一个参数里,asp里怎么调用啊?
- javaScript没有响应的问题
- 请问动态增加的table 如何设置满足条件的row 的字体颜色为红色?
- 没人教我么??
- 我要在页面调入时设一文字的颜色 用 onload=document.all('id_row1').style.color ='#ff0000'; 为什么没作用
- 在线编辑器,如何取得其内容?
- Jquery change 第一次不触发!!发疯了
- 帮我注释下这些代码!看的头晕
- jquery中 tabpanel.js 如何禁用滚动条 急!!!!!
试试这个
onclick='doQuery(jsonData,1)'>"
如果是简单json对象可以转换成json对象字符串,再在函数里转成json对象.不过我没有试过.
这句代码
html+="<span class='pgBtn first' title='首页' id='first' onclick='doQuery("+jsonData+",1)'>";
所在的函数下定义的。
这样一来,你在这样执行里,jsonData会转换成字串"[object Object]",肯定不行。
你只需要在定义jsonData时,将其定义成字串,不要定义成json对象就行了。
如:
原定义:
var json={name:'td'};
改成:
var json="{name:'td'}";
这句代码
html+="<span class='pgBtn first' title='首页' id='first' onclick='doQuery("+jsonData+",1)'>";
所在的函数下定义的。
这样一来,你在这样执行时,jsonData会转换成字串"[object Object]",肯定不行。
你只需要在定义jsonData时,将其定义成字串,不要定义成json对象就行了。
如:
原定义:
var jsonData={name:'td'};
改成:
var jsonData="{name:'td'}";
/**
*取得发送data
*/
function getSendData(){
var jsonData ="";
var position = document.getElementById("position").value;
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
var name = document.getElementById("name").value;
var certificateType = document.getElementById("certificateType").value;
var certificateID = document.getElementById("certificateID").value;
var nation = document.getElementById("nation").value;
var sex = document.getElementById("sex").value;
var startAge = document.getElementById("startAge").value;
var endAge = document.getElementById("endAge").value;
var address = document.getElementById("address").value;
var company = document.getElementById("company").value;
var visitorName = $("#visitorName").val();
jsonData = {"position":position,"direction":1,"start":start,"end":end,"name":name,
"certificateType":certificateType,"certificateID":certificateID,"nation":nation,
"sex":sex,"startAge":startAge,"endAge":endAge,"address":address,"company":company,
"visitorName":visitorName,"queryType":visitorQuery};
return jsonData;
}/**
*查询方法
**/
function doQuery (sendJsonData,pageno) {
$.ajax({
type: "post",
url: "<%=basePath%>/CCS/BS/QueryServlet",
data: sendJsonData,
dataType: "text",
beforeSend: function(XMLHttpRequest){
},
success: function(data, textStatus){
var innerHtml = "";
if(data){
var returnJsonData = JSON.parse(data);
var rtnList = returnJsonData.list;
var amount = returnJsonData.amount;
var pageno = returnJsonData.pageno;
var last = returnJsonData.last;
var previous = returnJsonData.previous;
var next = returnJsonData.next;
var pageRow = "";
pageRow = " <tr style='background-color:#ffffff'><td colspan='100' style='text-align:center;background-color:#ffffff'>当前第"
+pageno+"页,共"+last+"页,"+amount+
"条数据 <span class='pgBtn first' title='首页' id='first' onclick='doQuery("+sendJsonData+",1)'> </span>  "+
"<span class='pgBtn pre' title='前一页' id='pre' onclick='doQuery("+sendJsonData+","+previous+")'> </span> "+
"<span class='pgBtn next' title='下一页' id='next' onclick='doQuery("+sendJsonData+","+next+")'> </span> "+
"<span class='pgBtn last' title='尾页' id='last' onclick='doQuery("+sendJsonData+","+last+")'> </span> "+
"</td></tr>";
}
//省略代码
},
error: function(XMLHttpRequest, textStatus, errorThrown){
//
},
complete: function(XMLHttpRequest, textStatus){
//
}
});
}
第一次调用doQuery方法为点击一个查询按钮,传进去的jsonData可以是拼接的字符串,在doQuery中转换成json数据就可以了,但是在分页中调用时,传的值就改成json数据了,而不是字符串了,需要程序中判断,如果是字符串就需要转换成json,如果是json数据就不用转换了,挺麻烦的,感觉程序不够通用
var jsonData = {"position":position,"direction":1,"start":start,"end":end,"name":name,
"certificateType":certificateType,"certificateID":certificateID,"nation":nation,
"sex":sex,"startAge":startAge,"endAge":endAge,"address":address,"company":company,
"visitorName":visitorName,"queryType":visitorQuery};