2017-03-23 1 views
1

私はループを使用して複数の時間レイアウトを作成しており、jsをリクエストしてデータを取得しています。jspのループを使用してリクエストをjavascriptに送るときにデータをオーバーライドする

  • 私はラベルにデータを設定しています。
  • すべてのラベルは、それがしばらくインクリメントとしてのidのユニークな
  • をループしている私はすべてのラベルにデータを設定したいと 独立
  • **などを動作するはずです、それがイベントをクリックしてください。**私はレイアウト2 /複数のループを持っています時間とデータは両方とも に設定する必要があります。

  • のみ最後のレイアウトのラベルは、それを設定し得る問題。
  • 最後のレイアウトIDが表示されるときにログをチェックしました。ソースで

チェック

  • 私は、レイアウトは、すべてのユニークな IDで2回発生したことを示しています。
  • ログiでは、最後の同じレイアウトIDを使用してデータを に設定することを2回示しています。私はオーバーライドを回避し のコンポーネントの独立したが、お互いにする必要がありますどのよう

JSPファイル

<div align="center" class="container"> 



    <%!static int componentQty = 2;%> 

    <% 
     for (int i = 0; i < componentQty; i++) { 
      String editc = "editContent" + i; 
      String deletec = "deleteContent" + i; 
      String buttonlist_div = "buttons" + i; 
    %> 
    <div class="content" 
     style="width: 28%; float: left; margin: 50px; word-wrap: break-word;"> 
     <div class="row"> 
      <script type="text/javascript"> 

    var edit_input_ids = [ "adata<%=i%>", "bdata<%=i%>", "cdata<%=i%>", "ddata<%=i%>" ]; 
    var delete_input_ids = [ "a1data<%=i%>", "b1data<%=i%>", "c1data<%=i%>", "d1data<%=i%>" ]; 

    var editDatadiv = "editContent<%=i%>"; 
    var deleteDatadiv ="deleteContent<%=i%>"; 
    var buttonList = "buttons<%=i%>"; 
    var timerdiv = "time<%=i%>"; 


    $(document).ready(function() { 

     $('#'+editDatadiv).hide(); 
     $('#'+deleteDatadiv).hide(); 
     var lable_ids = [ "ablock<%=i%>", "bblock<%=i%>", "cblock<%=i%>", "dblock<%=i%>" ]; 
     <%-- var servletname = "RandomDataGen"+<%=i%>; --%> 
     setup('RandomDataGen', '|', lable_ids,timerdiv); 
     setData(); 



    }); 
</script> 


      <div class="col-md-10" style="background-color: lavender;"> 

       <div class="row"> 
        <div class="col-md-12 timeline"> 

         <div class="col-md-6" id="time<%=i%>"></div> 

         <div class="col-md-6"> 
          <h4>Overall Latency : 10</h4> 
         </div> 

        </div> 
       </div> 
       <div class="row"> 
        <div class="col-md-12" id="Labels"> 


         <div class="row"> 
          <div class="col-md-12"> 
           <div class="col-md-6"><h4>Name : </h4></div> 
           <div class="col-md-6"> 
            <h4>Name :</h4> 
           </div> 
          </div> 
         </div> 

         <div class="row"> 
          <div class="col-md-12"> 
           <div class="col-md-6"> 
            <h4> 
             Block 1 : <label id="ablock<%=i%>" /></label> 
            </h4> 
           </div> 
           <div class="col-md-6"> 
            <h4> 
             Block 2 : <label id="bblock<%=i%>"></label> 
            </h4> 
           </div> 
          </div> 
         </div> 
         <div class="row"> 
          <div class="col-md-12"> 
           <div class="col-md-6"> 
            <h4> 
             Block 3 : <label id="cblock<%=i%>"></label> 
            </h4> 
           </div> 
           <div class="col-md-6"> 
            <h4> 
             Block 4 : <label id="dblock<%=i%>"></label> 
            </h4> 
           </div> 
          </div> 
         </div> 


        </div> 
       </div> 
      </div> 

      <div class="col-md-2" id="<%=buttonlist_div%>" 
       style="background-color: green;"> 
       <div align="center"> 
        <input class="button" type="button" id="editPopup" 
         onclick=getEditWindow(edit_input_ids,editDatadiv) value="Edit"> 
       </div> 

       <div align="center"> 
        <input class="button" type="button" id="deletePopup" 
         onclick=getDeleteWindow(delete_input_ids,deleteDatadiv) 
         value="Delete"> 
       </div> 

       <div align="center"> 
        <input class="button" type="button" id="Active/Inactive" 
         value="Active" onclick=changeStat(this,buttonList) /> 
       </div> 
      </div> 
     </div> 




</div> 


<div id="<%=editc%>" style="display: none;"> 

    <form> 
     <input type="text" id="adata<%=i%>"> <input type="text" 
      id="bdata<%=i%>" /> <input type="text" id="cdata<%=i%>" /> <input 
      type="text" id="ddata<%=i%>" /> 

    </form> 
</div> 

<div id="<%=deletec%>" style="display: none;"> 
    <form> 
     <input type="text" id="a1data<%=i%>"> <input type="text" 
      id="b1data<%=i%>" /> <input type="text" id="c1data<%=i%>" /> <input 
      type="text" id="d1data<%=i%>" /> 
    </form> 
</div> 
</div> 
<% 
    } 
%> 

JAVASCRIPTファイル

function setup(servlet_url, separator, label_Id_names, timeDiv) { 

    this.servlet_url = servlet_url; 
    this.separator = separator; 
    this.label_names = label_Id_names; 
    this.timeDiv = timeDiv; 

} 
function setData() { 

    $.post(servlet_url, function(data) { 

     var dataArray = data.split(separator); 
     var i; 
     for (i = 0; i < label_names.length; i++) { 
      console.log('lable names : ' + label_names[i]); 
      var nextval = dataArray[i]; 

      $('#' + label_names[i]).html(nextval); 

     } 

    }); 
} 

は**お時間をありがとう。**

答えて

0

私は、関数を呼び出すために、この方法に従うと、それはそうのないチャンスが存在しない一意になり、新たなcomponent.everyの事のための新しい関数を生成します。オーバーライドします。

var myFunctions= []; 



    function createMyFunction(i) { 

     return function() { 

       console.log("My value: " + i); 

     }; 

    } 



    for (var i = 0; i < 3; i++) { 

     myFunctions[i] = createMyFunction(i); 

    } 



    for (var j = 0; j < 3; j++) { 

     myFunctions[j](); // and now let's run each one to see 

    } 
関連する問題