所以我有以下Javascript。我會試着找出爲什麼CommentItem DIV我追加內指定的文本沒有顯示。但我的主要問題是靶向ContainerPh發起的一切txtComment那個那上面......不能針對特定的div來從jQuery AJAX填充數據ASP.NET
$('.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>
想法?謝謝。
我不能在其他答覆註釋搜索,所以我會在這裏做...他們一直說$ _this變量是在該按鍵處理程序中聲明的。情況並非如此......它只是在它內部進行分配。我們沒有看到足夠的代碼來知道它的定義。無論如何,如果你沒有用'var'聲明變量,我相信它們是全局的。 – dlgrasse
mmm可擴展範圍問題正如你所說,但你不能像這樣使用var CommentsPh = $ _this.parent()。parent()。find(「。CommentsPh」)。因爲你在使用$ _this。你必須使用像我說 –
@digrasse的屬性,你是對的。 – Pointy