我正在編寫一個簡單的博客,我試圖實現的功能之一是每篇文章的評論/回覆部分。在我的文章視圖中,我有一個foreach循環,打印該帖子的所有評論。具有相同類別的多個切換按鈕
@foreach (var comments in Model.Post.Comments)
{
if (comments.ReplyToId == 0)
{
<p>@comments.Body <span><a href="#" class="toggleReply">Reply</a></span></p>
<div id="replyTextBox" style="display:none">
@using (Html.BeginForm("Reply", "Comment", FormMethod.Post))
{
<input type="hidden" name="PostId" value="@Model.Post.PostId" />
<input type="hidden" name="CommentId" value="@comments.CommentId" />
<input type="text" name="Body" id="CommentBody" />
<input type="submit" value="Submit" />
}
</div>
}
foreach (var reply in Model.Post.Comments)
{
if(reply.ReplyToId == comments.CommentId)
{
<ul>
<li>@reply.Body</li>
</ul>
}
}
}
我有一個if語句來檢查數據庫以查看註釋是新評論還是評論回覆。每個新評論都包含一個回覆按鈕,以允許用戶回覆評論。我添加了一些jquery到這個按鈕來隱藏或顯示回覆文本框。
這裏是jQuery代碼:
@section scripts {
<script type="text/javascript">
$(document).ready(function() {
$('.toggleReply').click(function() {
$('#replyTextBox').toggle();
});
});
</script>
}
我遇到的問題是,由於這些答覆文本框的動態性質,只有第一個按鈕似乎透露出一個文本框。當我點擊其他前面的回覆按鈕時,只有第一個回覆按鈕的文本框會受到影響。
道歉爲簡潔的解釋。
'id =「replyTextBox」'...重複的ID ....! – 2013-05-09 20:24:53
'CommentBody'也是一個重複的ID – 2013-05-09 20:26:13
@MohammadAdil,是什麼讓你覺得它是重複的? – 2013-05-09 20:28:34