循环通过未知数量的跨度- JavaScript MVC
本文关键字:JavaScript MVC 未知数 循环 | 更新日期: 2023-09-27 17:50:36
我有这些函数:
$(".Read-Showing-Comment-Cancel").live('click', function (e) {
var guid = $(this).data("guid");
e.preventDefault();
var f = $('#comments-form-' + guid).slideUp();
$('comments-text-' + guid).empty();
$('comments-text-' + guid).value = "";
$(this).find('.comments-form-' + guid).hide();
$('comments-sendlink-' + guid).show();
});
$('.showComments').unbind('click').click(function (event) {
$('.ListingDisplayOptions').hide();
$(this).find('.comments-form-' + showGuid).show();
var showGuid = $(this).attr('rel');
loadShowingsComments(showGuid);
$(this).attr('id', 'comments-sendlink-' + showGuid);
event.preventDefault();
});
function loadShowingsComments(guid) {
var commentTextArea = "#comments-form-" + guid;
var commentDisplay = ".spanComments" + guid;
var curComment = $(commentDisplay).text();
var element = "#comments-form-" + guid;
$(element).slideDown();
}
<script>
function showComments() {
var comments = document.querySelectorAll(".spanComments");
for (var i = 0; i < comments.length; i++) {
comments[i].innerHTML = "This is comment #" + i;
}
}
</script>
<a href="#" rel="@currentShowing.ShowingGUID" class="showComments noprint" id="comments-sendlink">View Comments</a>
这些函数应该从我的控制器(它连接正确)获取信息。我已经遍历了,它已经填充了正确的信息,并将它们放在span:
中<tr class="p_la" id="comments-form-@currentShowing.ShowingGUID" style="display:none;">
<td colspan="4" style="border-right:5px solid #DDDDDD;">
<form action="" method="post">
<span class="spanComments" cols="100" rows="5">@string.Format("{0} / {1}", @currentShowing.Comments.DateAdded, @currentShowing.Comments.CommentsValue)</span>
<br />
<a href="#" class="button red Read-Showing-Comment-Cancel" data-guid="@currentShowing.ShowingGUID" rel="@currentShowing.ShowingGUID" id="comments-cancel-@currentShowing.ShowingGUID">Close</a>
</form>
</td>
</tr>
不幸的是,当我单击我的超链接时,它只使用第一个span的信息填充第一个span。对于第一个跨度非常有效,但是当你点击第二个、第三个、第四个等项目中的超链接时,它们只会打开第一个跨度,其中包含第一个跨度的信息。
代码应该用自己的信息填充每个连续的span
。
我的JQuery是关闭的。这里需要修改:
$(".Read-Showing-Comment-Cancel").live('click', function (e) {
var guid = $(this).data("guid");
e.preventDefault();
var f = $('#comments-form-' + guid).slideUp();
$('comments-text-' + guid).empty();
$('comments-text-' + guid).value = "";
$(this).parent("form").parent("td").parent("tr").hide();
$('comments-sendlink-' + guid).show();
});
$('.showComments').unbind('click').click(function (event) {
$('.ListingDisplayOptions').hide();
var showGuid = $(this).attr('rel');
$(this).parent("td").parent("tr").next('#comments-form-' + showGuid).show();
$(this).attr('id', 'comments-sendlink-' + showGuid);
event.preventDefault();
});