0
var resultValue = $("#"+temp+" .panId").val();
for(var i=0; i<totalPanel;i++) {
    $("#"+temp+" .panelDiv").append('<div class="panelDiv' + resultValue + '"></div>');
    $("#"+temp+" .panelDiv" +resultValue ).load("Panel.html #w", function(){
        $(".panelDiv"+(resultValue-1)+" .txtWidth").attr('rel',resultValue-1);
        $(".panelDiv"+(resultValue-1)+" .txtHeight").attr('rel',resultValue-1);
        $(".panelDiv"+(resultValue-1)+" .btnRemovePanel").attr('rel',resultValue-1);
    });
    resultValue++;
    $("#"+temp+" .panId").val(resultValue);
}

基本的に、ロード機能をトリガーしようとしています。ロード関数がトリガーされた後、rel <- をそれぞれに設定したいので、for ループ ループ 5 時間の rel は 1 2 3 4 5 になりますが、.loop コールバック関数のみが実行されるため、現在は 5 5 5 5 5 として設定されています。ループが完了した後、それはロードされています。したがって、私の値resultValueは値の最大値です。rel 1 2 3 4 5 を設定して解決するにはどうすればよいですか。

4

1 に答える 1

0

代替案を見つけた

$(document).ready(function(){
 $("body").on('change','.txtTotalHeight',function(){
  for(var i=0; i<totalPanel;i++) {
     test();

  }
 }
}
function test(){
var resultValue = $("#"+temp+" .panId").val();

    $("#"+temp+" .panelDiv").append('<div class="panelDiv' + resultValue + '"></div>');
    $("#"+temp+" .panelDiv" +resultValue ).load("Panel.html #w", function(){
        $(".panelDiv"+(resultValue-1)+" .txtWidth").attr('rel',resultValue-1);
        $(".panelDiv"+(resultValue-1)+" .txtHeight").attr('rel',resultValue-1);
        $(".panelDiv"+(resultValue-1)+" .btnRemovePanel").attr('rel',resultValue-1);
    });
    resultValue++;
    $("#"+temp+" .panId").val(resultValue);
}
于 2012-06-16T04:32:59.377 に答える