求解Jquery浏览器兼容性问题

xiongchangjing 2012-10-29 05:29:31

function searchMyOrder() {
$.ajax({
type: "POST",
contentType: "application/json",
url: "Service/WebServiceA.asmx/SearchUserOrderList",
data: "{rowNum:" + rowNum + ",pageNum:" + pageNum + ",dateRange:" + dateRange_ + ",commentState:" + commentState_ + ",searchContent:'" + searchContent + "',searchType:" + searchType_ + "}",
dataType: 'json',
success: function (response) {
$("#order_dd").html("");
var result = response.d;
if (result == null)
return false;
var m_total_records = result.m_total_records; //总记录集
var pageTag = "setpage"; //显示页码的DIV ID
var showPageCount = 10; //显示页码数量
//设置分页方法
setpage(pageTag, m_total_records, rowNum, pageNum, showPageCount);
orderinfo = result.ObjectList;
orderinfolength = orderinfo.length;
for (var i = 0; i < orderinfolength; i++) {
if (i == 0)
$("<table id='order_list" + i + "' class='table'><tr style='background-color:#f4f4f4;height:28px;text-align:center;'><td style='width:106px'>订单号</td><td style='width:169px'>预定产品</td><td style='width:107px'>应付金额</td><td style='width:135px'>下单时间</td><td style='width:100px'>支付方式</td><td style='width:92px'>订单状态</td><td style='width:100px'>操作</td></tr></table>").css({ "border-width": "1px", "border-color": "#cccccc", "border-collapse": "collapse" }).appendTo("#order_dd");
else
$("<table id='order_list" + i + "' class='table'></table>").css({ "border": "1px", "border-color": "#cccccc", "border-collapse": "collapse" }).appendTo("#order_dd");
//添加具体订单信息
//添加新订单
$("<tr id='orderInfo" + i + "'></tr>").css({ "height": "28px", "text-align": "center", "color": "#333333" }).appendTo("#order_list" + i);
//添加订单号
$("<td></td>").css({ "width": "106px" }).append(orderinfo[i].SystemId).appendTo("#orderInfo" + i);
//添加订单商品名
$("<td></td>").css({ "width": "169px" }).append(orderinfo[i].OrderName).appendTo("#orderInfo" + i);
//添加应付金额
$("<td></td>").css({ "width": "107px" }).append(parseInt(orderinfo[i].Price) / 100).appendTo("#orderInfo" + i);
//添加下单时间
var datetime = new Date(parseInt(orderinfo[i].BookingDate.replace("/Date(", "").replace(")/", "")));
$("<td></td>").css({ "width": "135px" }).append(datetime.format("yyyy-MM-dd hh:mm:ss")).appendTo("#orderInfo" + i);
//添加支付方式
var payType = "";
if (orderinfo[i].PayTypeId == 1)
payType = "在线支付";
else
payType = "现场支付";
$("<td></td>").css({ "width": "100px" }).append(payType).appendTo("#orderInfo" + i);
//添加订单状态
var orderState = "";
if (orderinfo[i].OrderState == 1)
orderState = "已下单";
else if (orderinfo[i].OrderState == 2)
orderState = "已付款";
else if (orderinfo[i].OrderState == 3)
orderState = "已作废";
else if (orderinfo[i].OrderState == 4)
orderState = "已退款";

$("<td></td>").css({ "width": "92px" }).append(orderState).appendTo("#orderInfo" + i);
var pl_detaillength = "pl_detail" + i;
$("<div id='" + pl_detaillength + "'></div>").css({ "height": "90px", "background-color": "#fff7f2", "border": "1px solid #ffc184", "display": "none", "padding": "10px 55px 10px 10px", "width": "732px" }).appendTo("#order_dd");
if (orderinfo[i].IsComment == 0) {
var ToComment;
if (orderinfo[i].OrderState == 2) {
//添加点评操作
ToComment = $("<a id='comment" + i + "' title='去点评'>点评</a>").attr("href", "javascript:void(0);").attr("onclick", "showHide('pl_detail', " + i + "," + orderinfolength + ",1)").css({ "text-decoration": "none" });
}
else if (orderinfo[i].OrderState == 1) {
ToComment = $("<a id='comment" + i + "' title='现在去付款'>付款</a>").attr("href", "payMent.aspx?orderSystemId=" + orderinfo[i].SystemId).css({ "text-decoration": "none" });
}
else {
ToComment = $("<font>订单已失效</font>").css({ "color": "#9c9c9c" });
}
$("<td></td>").css({ "width": "100px", "background": "url(Resource/images/myorder_dlbtn.bmp)" }).append(ToComment).appendTo("#orderInfo" + i);
ToAddCommentHtml(pl_detaillength, i, orderinfo[i].Bonus);
}
else {
//var pl_detaillength = "pl_detail" + i;
var ToComment = $("<a id='comment" + i + "' title='点击查看'>已点评</a>").attr("href", "javascript:void(0);").attr("onclick", "showHide('pl_detail', " + i + "," + orderinfolength + ",2)").css({ "text-decoration": "none" });
$("<td></td>").css({ "width": "100px", "background": "url(Resource/images/myorder_dlbtn.bmp)" }).append(ToComment).appendTo("#orderInfo" + i);
LoadCommentInfo(pl_detaillength, i, orderinfo[i].Bonus, orderinfo[i].Comment, orderinfo[i].CommentDate, orderinfo[i].Rating, orderinfo[i].ScenicRating, orderinfo[i].FoodRating, orderinfo[i].RoomRating)
}
}
}
});
}
//显示隐藏层
function showHide(pl_detail, i, orderinfolength, clickType) {
clearvalue(); //清除变量值
for (var pl_detailindex = 0; pl_detailindex < orderinfolength; pl_detailindex++) {
if (i == pl_detailindex) {
var sourceObj = document.getElementById("comment" + i);
var targetObj = document.getElementById(pl_detail + i);
if (sourceObj == null) return false;
if (targetObj == null) return false;
if (targetObj.style.display != "none") {
targetObj.style.display = "none";
} else {
targetObj.style.display = "block";
if (clickType == 1)
setvalue(i); //变量赋值
}
}
else {
document.getElementById(pl_detail + pl_detailindex).style.display = "none";
}
}
}


onclick事件在IE8和火狐都没有问题,但是在IE7就不行,.click(function(){})也无效,求解啊
...全文
375 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在IE下添加事件不要.attr("onclick", "showHide('pl_detail', " + i + "," + orderinfolength + ",2)"),没用。。


    if (orderinfo[i].IsComment == 0) {
var ToComment;
if (orderinfo[i].OrderState == 2) {
//添加点评操作
//ToComment = $("<a id='comment" + i + "' title='去点评'>点评</a>").attr("href", "javascript:void(0);").attr("onclick", "showHide('pl_detail', " + i + "," + orderinfolength + ",1)").css({ "text-decoration": "none" });
ToComment = $("<a id='comment" + i + "' title='去点评'>点评</a>").attr("href", "javascript:void(0);").click(function () { showHide('pl_detail', i, orderinfolength, 1) }).css({ "text-decoration": "none" });
}
else if (orderinfo[i].OrderState == 1) {
ToComment = $("<a id='comment" + i + "' title='现在去付款'>付款</a>").attr("href", "payMent.aspx?orderSystemId=" + orderinfo[i].SystemId).css({ "text-decoration": "none" });
}
else {
ToComment = $("<font>订单已失效</font>").css({ "color": "#9c9c9c" });
}
$("<td></td>").css({ "width": "100px", "background": "url(Resource/images/myorder_dlbtn.bmp)" }).append(ToComment).appendTo("#orderInfo" + i);
ToAddCommentHtml(pl_detaillength, i, orderinfo[i].Bonus);
}
else {
//var pl_detaillength = "pl_detail" + i;
//var ToComment = $("<a id='comment" + i + "' title='点击查看'>已点评</a>").attr("href", "javascript:void(0);").attr("onclick", "showHide('pl_detail', " + i + "," + orderinfolength + ",2)").css({ "text-decoration": "none" });
var ToComment = $("<a id='comment" + i + "' title='点击查看'>已点评</a>").attr("href", "javascript:void(0);").click(function () { showHide('pl_detail', i, orderinfolength, 2) }).css({ "text-decoration": "none" });
$("<td></td>").css({ "width": "100px", "background": "url(Resource/images/myorder_dlbtn.bmp)" }).append(ToComment).appendTo("#orderInfo" + i);
LoadCommentInfo(pl_detaillength, i, orderinfo[i].Bonus, orderinfo[i].Comment, orderinfo[i].CommentDate, orderinfo[i].Rating, orderinfo[i].ScenicRating, orderinfo[i].FoodRating, orderinfo[i].RoomRating)
}
任第一 2012-10-31
  • 打赏
  • 举报
回复
学习了一点知识。
xiongchangjing 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:

引用 4 楼 的回复:
6都可以 7不行?是不是你测试的浏览器问题


IE8和火狐可以, IE6和IE7都不行


。。。

JScript code

<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="http://ajax.googleapis.com/aj……
[/Quote]

问题已解决IE8以下版本里面不支持href="javascript:void(0);">
泡泡鱼_ 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
问题已解决IE8以下版本里面不支持href="javascript:void(0);">
[/Quote]
不是不支持,只是绑定事件可能在IE8以下不能通过增加属性的方法去操作
<script type="text/javascript">
$(function(){
$('#test').attr("href","javascript:void(0);").text("aaaaaaa").click(function(){alert('1')});
})
</script>
<a id="test">test</a>

以上方法,我同样是使用IETester进行的测试。可以被执行

你前面说.click()也不行,因为不知道你的测试方法是什么样的了。不好说
xiongchangjing 2012-10-30
  • 打赏
  • 举报
回复
刚用IETester测试,IE8以上都没问题,以下就不行。。。我代码是不是哪里写错了
xiongchangjing 2012-10-30
  • 打赏
  • 举报
回复
我的Jquery是1.7的 你这样是没问题的
wbb123yu 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:
6都可以 7不行?是不是你测试的浏览器问题


IE8和火狐可以, IE6和IE7都不行
[/Quote]

。。。
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>
$(document).ready(function(e) {
$(".xx").click(function(e) {
alert("1");
});
});
</script>
</head>

<body>
<a class="xx" href="#">1111</a>
</body>

你写个简单的试试可以不?我测试怎么都可以?还有你用的哪个版本的jQ?不会是2.0的吧
xiongchangjing 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
6都可以 7不行?是不是你测试的浏览器问题
[/Quote]

IE8和火狐可以, IE6和IE7都不行
xiongchangjing 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
不兼容IE7呗,你换个别的JS 框架试过没有?
[/Quote]

这个和其他框架没什么关系吧。。Jquery对各种浏览器的兼容都不错的,应该是我的写法有问题的
wbb123yu 2012-10-30
  • 打赏
  • 举报
回复
6都可以 7不行?是不是你测试的浏览器问题
AaronLii 2012-10-30
  • 打赏
  • 举报
回复
不兼容IE7呗,你换个别的JS 框架试过没有?
xiongchangjing 2012-10-30
  • 打赏
  • 举报
回复
为何无人进来呢。。。
zth1962 2012-10-30
  • 打赏
  • 举报
回复
很好,写的很专业

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧