javascript如何在自身onclick事件里改变onclick事件的参数值? 20
html部分:<ahref="javascript:void(0);"onclick="updateShow('1014','0',this)">对外隐藏</a>js部分...
html部分:
<a href="javascript:void(0);" onclick="updateShow('1014','0',this)">对外隐藏</a>
js部分:
function updateShow(id,show,t) {
$.post("/ajaxPage/ajax.aspx", { op:"UPCHECK",tempid:id,show:show}, function (data) {
if (data != "0") {
//$("#" + id).parent().parent().find(".checknow").html("sx");
if (show == "0") {
$(t).parent().parent().find(".shownow").html("<img src=\"/images/yes.jpg\" style=\"width:25px; height:25px;\">");
t.innerHTML = "对外隐藏";
t.onclick = function() {
updateShow('1014','1',t) };
} else {
$(t).parent().parent().find(".shownow").html("<img src=\"/images/no.jpg\" style=\"width:25px; height:25px;\">");
t.innerHTML = "对外显示";
t.onclick = function() {
updateShow('1014','0',t) };
}
}
});
}
我想把updateShow的实参0变为1,但是这样写不行。求指导 展开
<a href="javascript:void(0);" onclick="updateShow('1014','0',this)">对外隐藏</a>
js部分:
function updateShow(id,show,t) {
$.post("/ajaxPage/ajax.aspx", { op:"UPCHECK",tempid:id,show:show}, function (data) {
if (data != "0") {
//$("#" + id).parent().parent().find(".checknow").html("sx");
if (show == "0") {
$(t).parent().parent().find(".shownow").html("<img src=\"/images/yes.jpg\" style=\"width:25px; height:25px;\">");
t.innerHTML = "对外隐藏";
t.onclick = function() {
updateShow('1014','1',t) };
} else {
$(t).parent().parent().find(".shownow").html("<img src=\"/images/no.jpg\" style=\"width:25px; height:25px;\">");
t.innerHTML = "对外显示";
t.onclick = function() {
updateShow('1014','0',t) };
}
}
});
}
我想把updateShow的实参0变为1,但是这样写不行。求指导 展开
2个回答
展开全部
我推荐你使用事件绑定去做,代码会比较简单。一般是不推荐onclick属性的,比较新的代码都会用事件榜定。
加一个辅助ID,如:
<a id="yourid" href="javascript:void(0);">对外隐藏</a>
jquery有一个data方法,可以为元素存储一个值。在点击链接时,可以动态地改变真假值,来改变事件的行为。这样不需要改变已经绑定的事件。
$("#yourid").data("state", false);
$("#yourid").click(function(){
var s = $(this).data("state");
// 判断s的值,隐藏或显示
// 这个函数的内容需要修改,这里只做一个示例
updateShow("1014", s, $(this));
// 改变state的值,下次就是true了
$(this).data("state", !s);
});
还有一种办法,使用toggle切换
$("#yourid").click(function(){
$("#yourid").toggle(
function(o){ updateShow('1014', true, $(this) },
function(o){ updateShow('1014', false, $(this) }
);
});
绑定一个事件,在事件中调用toggle。这样每次点击会在两个不同的函数间切换。第一次点击执行第一个函数,第二次点击执行第二个函数。
您的采纳就是我的动力!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询