循环通过未知数量的跨度- 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

循环通过未知数量的跨度- JavaScript MVC

我的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();
});