0
<%var i=1;%>
<%foreach (var commentitem in item.commentsModelList)
   { 
    <table border="0"  class="commentbox">
     <tr>
        <td>
           <%: Html.DisplayFor(modelItem => commentitem.CommentClob)%>
        </td>

     </tr>
     <tr>
        <%var rid = "reply" + i;%>
        <td>  <input id="<%:rid %>" type="button" value="reply"/>
     </td>
       <td>

      <%--addded--%>
        <div id="<%:rboxid %>">
            <input id="Text1" type="text" />
            <input id="postreply" type="button" value="postreply" />

        </div>
    </td>

     </tr>
  </table>
<% i++;}%>

我有以下查询

1.我想在点击不同回复ID的不同超链接时显示警告框。

已编辑

2. 我想在页面加载时隐藏这些 div,并在单击带有 id reply1 的链接时显示带有 id replybox1 的 div,其他 div 也一样

3.有没有办法动态创建div并执行相同的功能

4

3 回答 3

1

用于modelItem.Id消除链接的歧义,而不是用于循环计数器;

     <tr>
        <%var rid = "reply" + modelItem.Id ;%>
        <td>  <input id="<%:rid %>" type="button" value="reply"/>
     </td>
于 2012-04-15T14:01:01.743 回答
0

要在单击输入按钮时获得 id 警报,您可以使用此脚本。(假设您的页面中有可用的 jQuery)

   $(function(){
      $(".commentbox input[type='button']").click(function(){
        var id=$(this).attr("id");
        alert(id);
      });
    });

正如哈桑已经提到的。你可能应该使用comentItemId而不是使用i变量

编辑 根据有问题的更新,此脚本将隐藏页面加载中的所有 div,并在单击replybox1输入时仅显示具有 id 的那些 div reply1

   $(function(){
      $(".commentbox div").hide();
      $(".commentbox input[type='button']").click(function(){
        var id=$(this).attr("id");
        var replyBoxId=id.substring(5);
        $("#replybox"+replyBoxId).show();
      });
    });
于 2012-04-15T14:04:25.950 回答
0

您已经在循环i 定义了变量。for这意味着您为每次迭代分配一个值为 1 的新整数。

尝试将定义移到i循环之外。

于 2012-04-15T13:58:07.413 回答