<%#Eval("PR") %> - + 点击- +时,Repeater控件绑定的数据<%#Eval("PR") %>直接累加累减,现在出现的问题就是,ajax能实现传值,更新成功,数字不刷新//点击PR值累加累减
function doPostSetPR(id, a, val) {
if (a == "up") { val = val + 1; } else { val = val - 1; }
if (val > 10 || val < 0) { alert('PR超出范围'); return }
// $("PR_" + id).innerHTML = val;
?????这里怎么写
doPostajaxPR(id, val);
}
function doPostajaxPR(id, val) {
var iCwid = id;
var PR = val;
$.ajax({
type: "POST",
url: $.GetPureUrl() + "/updatePR",
data: "{'icwid':'" + iCwid + "','pr':'" + PR + "'}",
contentType: "application/json; charset=utf-8",
success: function (msg) {
if (id != "0") { alert("修改成功!");
}
},
error:
function (XMLHttpRequest, textStatus, errorThrown) {
alert("修改失败!")
}
})
}
<span id="PR_<%#Eval("PR") %>"><%#Eval("PR") %></span>
<span id="down_<%#Eval("ICWID") %>"> <a href="javascript:doPostSetPR(<%#Eval("ICWID") %>,'down',<%#Eval("PR") %>)">-</a>
</span><span id="up_<%#Eval("ICWID") %>"><a href="javascript:doPostSetPR(<%#Eval("ICWID") %>,'up',<%#Eval("PR") %>)">+</a>
</span>
function doPostSetPR(id, a, val) {
if (a == "up") { val = val + 1; } else { val = val - 1; }
if (val > 10 || val < 0) { alert('PR超出范围'); return }
// $("PR_" + id).innerHTML = val;
?????这里怎么写
doPostajaxPR(id, val);
}
function doPostajaxPR(id, val) {
var iCwid = id;
var PR = val;
$.ajax({
type: "POST",
url: $.GetPureUrl() + "/updatePR",
data: "{'icwid':'" + iCwid + "','pr':'" + PR + "'}",
contentType: "application/json; charset=utf-8",
success: function (msg) {
if (id != "0") { alert("修改成功!");
}
},
error:
function (XMLHttpRequest, textStatus, errorThrown) {
alert("修改失败!")
}
})
}
<span id="PR_<%#Eval("PR") %>"><%#Eval("PR") %></span>
<span id="down_<%#Eval("ICWID") %>"> <a href="javascript:doPostSetPR(<%#Eval("ICWID") %>,'down',<%#Eval("PR") %>)">-</a>
</span><span id="up_<%#Eval("ICWID") %>"><a href="javascript:doPostSetPR(<%#Eval("ICWID") %>,'up',<%#Eval("PR") %>)">+</a>
</span>
改成<a href="javascript:" onclick="doPostSetPR(this, <%#Eval("ICWID") %>,'down')">-</a>
然后将 doPostSetPR 的第一个参数设为 src,其实就是代指点击的那个 a
然后通过 DOM 导航取到 <span id="PR_<%#Eval("PR") %>">,对于减号应该是
var prElm = $(src).parent().prev();
var prVal = prElm.html() - 0; // 减 0 是将文本转换为数字
prElm.html(--prVal);
然后做 ajax 的 post 动作,这一句 prElm.html(--prVal); 也可以等到 ajax 返回值后再写,以免后端更新不成功,而前端却已显示了正确的数值
这样写法不对啊