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.Idforループカウンターの代わりにリンクの明確化に使用します。

     <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 に答える