function GetOrderCount() {
var html = "";
$.ajax({
dataType: "json",
url: "/AjaxRequest/ListBubbleByUserTest.cspx",
success: function(json) {
var recordNum = 0;
$.each(json, function(key, val) {
recordNum++;
//href='" + val.MsgUrl + "' target=_blank
html = html + " <a name='MsgUrl' rowid='" + val.ID + "'>" + val.BubbleTitle + "</a>";
});
if (html != "") {
$.messager.lays(300, 200);
$.messager.anim('fade', 2000);
$.messager.show('<font color=red>重磅消息</font>', html,0);
}
}
});
$("#message a[name]='MsgUrl' ").click(SetMsg);
}
//设置消息已读
function SetMsg() {
var msgID = $(this).attr("rowid");
alert(msgID);
if (msgID != "") {
$.ajax({
url: "/AjaxRequest/SetListMsg.cspx",
data: { msgID: msgIDs },
success: function(responseText) {
}
});
}
}
我是这样绑定事件的$("#message a[name]='MsgUrl' ").click(SetMsg); message是a标签外面的div,MsgUrl是a标签的name
追答你调用$("#message a[name]='MsgUrl' ").click(SetMsg);的时候你的a标签还没创建吧?ajax
是异步执行的
怎么做才能让a标签执行SetMsg()这个方法里面的json,并跳转到其他页面?
追答最好在ajax的callback里处理结束最后添加click事件。。。
这样做拿不到rowid的值
追答$(this)关键字只能用在事件里
追问谢谢大侠!但是如何实现既能执行事件又能拿到rowid的值?
追答$("#message a[name]='MsgUrl' ").click(SetMsg);
这个事件加一个存储
var $target;
$("#message a[name]='MsgUrl' ").click(function(){
$target = $(this);
SetMsg();
});
下面你就可以用$target了
大侠,不行啊,我的这个是在一个循环里面,你给的解决方案适合单个的事件
追答var $target; 做成全局的懂? 放到GetOrderCount之前。
追问谢谢你,我解决了,直接在a标签里面加onclick事件传参数就可以。谢谢哦