<%#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>

解决方案 »

  1.   

    是不是需要用个变量,把上次的数字记下来,ajax后变量加1,更新回去。
      

  2.   

    可以把 + - 符号 超链接的id 设置成你绑定的id 这样你点击超连接的时候 就可以获取id 这个ID也就是 span的id 这样就可以 更新 span里的数字了
      

  3.   

    把 <a href="javascript:doPostSetPR(<%#Eval("ICWID") %>,'down',<%#Eval("PR") %>)">-</a>
    改成<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 返回值后再写,以免后端更新不成功,而前端却已显示了正确的数值
      

  4.   

    那里面的val值就是已经累加减过的了,现在就是赋值过去,当时要是定义个id,他只会刷新第一行数据
      

  5.   

    哦,你没用 jquery,那你看看你使用的 JS 库是如何导航 DOM 节点的,换成相应的方法就可以了。或者直接通过 document.getElementById 取显示 PR 值那个 span 的 ID 也行。
      

  6.   

    <a href="javascript:" onclick="doPostSetPR(this, <%#Eval("ICWID") %>,'down')">-</a>
    这样写法不对啊