【发布时间】:2012-04-21 04:27:12
【问题描述】:
$(function() {
$(".commentbox .btnReply").click(function() {
$(this).hide();
var id = $(this).attr("id").split("-")[1]
var strDiv = "<input type='text' class='txtCmnt' id='txtReply-" + id + "' /> <input type='button' class='btnSave' value='Save' id='btnSave-" + id + "' /> ";
$("#container-" + id).html(strDiv);
});
var i = 1;
$(".commentbox").on("click", ".btnSave", function() {
var itemId = $(this).attr("id").split("-")[1]
var txt = $(this).parent().find(".txtCmnt").val();
var divid = itemId + "-" + i;
i++;
alert("i" + i);
alert("replypostid" + divid);
$.post("Handler/Topic.ashx", {
reply: txt,
id: itemId
}, function(data) {
alert(data);
var str = "<div id='replytopost" + divid + "'></div>";
$("#replytopost" + divid).append(data);
$("#container-" + itemId).append(str);
})
});
});
我想将从 post 函数返回的数据附加到一个动态创建的 div 中,该 div 附加到另一个 div 中。
jsfiddle 链接是 http://jsfiddle.net/UGMkq/49/
alert(data) 正在打印正确的输出,但没有附加数据的 div。
已编辑
如果我点击第一个保存按钮,它会给出replypostid1-1,然后 当我单击第二个按钮时,警报给出的是 replypostid2-2 而不是我想要 replypostid2-1
【问题讨论】:
-
Handler/Topic.ashx 的完整 url 是什么?我无法在 jsfiddle 上进行测试,因为 $.post 没有从那里执行
-
您似乎尚未将您尝试选择的
div添加到 DOM 中。您需要将div附加到 DOM 或将data附加到str变量,即 $(str).append(data);
标签: jquery