循环.load jquery设置rel

时间:2012-06-15 03:28:18

标签: jquery

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&lt; - 如果我的for循环5时间rel将是1 2 3 4 5 但是现在它被设置为5 5 5 5 5,因为.loop回调函数只在循环完成后才执行然后它正在加载。因此我的值resultValue是该值的最大值。 如何通过设置rel 1 2 3 4 5来解决。

1 个答案:

答案 0 :(得分: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);
}