所以我有以下 Javascript。我将尝试找出为什么我附加的 CommentItem div 中指定的文本没有显示。但我的主要问题是针对 ContainerPh ,它位于启动所有内容的 txtComment 之上...
$('.txtComment').live("keypress", function (event) {
$_this = $(this);
var Id = $(this).attr("index");
var d = JSON.stringify({ "Value": $(this).val(), "StreamId": Id })
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
event.preventDefault();
$.ajax({
type: 'POST',
url: '../API/Services.asmx/PostComment',
data: d,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: PostOk,
error: errFunc
});
$('.txtComment').each(function () {
$(this).attr('disabled', 'disabled');
});
}
});
function PostOk(result, userContext, methodName) {
var CommentsPh = $_this.parent().parent().find(".CommentsPh");
var CommentItem =
"<div class='CommentItem'>" +
"<div id='CommentImgContainer'>" +
"<img src='' class='CommentImg' + '.thumb' />"
"</div>" +
"<div id='CommentStory'>" +
"<a href='' class='BuddyTag small'></a>" +
"<span class='CommentValue'>" + result.d[1] + "</span>" +
"<br />" +
"<div class='spacer'></div>" +
"<span class='DateTime'>datetime</span>"
"<span style='float: right; margin-right: 7px; margin-left:8px; line-height:8pt;'>.</span>" +
"<span class='CommentUp'>sometext</span>" +
"<span class='CommentLike'></span>" +
"</div>" +
"</div>";
$(CommentsPh).append(CommentItem);
$('.txtComment').each(function () {
$(this).removeAttr('disabled');
});
}
这正在填充所有 .CommentsPh,即使我试图在 txtComment 文本框之前获取该注释。我做错了什么?
<asp:Button ID="btnDeleteStream" CssClass="DisposeOfStream" OnClick="btnDeleteStream_Click"
runat="server" />
</div>
</asp:Panel>
<div class="CommentsPh">
</div>
<asp:Button ID="btnDeleteStream" CssClass="DisposeOfStream" OnClick="btnDeleteStream_Click"
runat="server" />
</div>
</asp:Panel>
<asp:Panel ID="CommentTools" CssClass="CommentTools" runat="server">
<asp:TextBox ID="txtComment" TextMode="SingleLine" CssClass="txtComment" runat="server"></asp:TextBox>
想法?谢谢。
最佳答案
我们看不到太多标记,因此很难判断 TextBox 上方的两个父级没有多个 .CommensPh div(#find 将与之匹配)。
作为替代方案,是否有任何理由不在所需的 div 标签上放置 id= 属性,使用某种将 TextBox 绑定(bind)到该 div 的约定?我在想类似的事情......
<div id='comments_txtComment'></div>
...有问题的文本框在哪里...
<asp:TextBox ID='txtComment'>
...然后在 PostOK 中执行类似 var CommentsPh = $('comments_'+$_this.attr('id')); 的操作;
关于c# - 无法定位特定 div 以填充来自 jQuery AJAX ASP.NET 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8104735/