除非写入警报,否则jQuery函数无法获取值

时间:2012-04-03 06:20:49

标签: jquery

我有

   $j("input[id^='tab_name_edit']").each(function(){

    var divcnt = $j(this).attr('id');

    var divcnt = divcnt.split(/[_]/);
    nosoftabs = divcnt[divcnt.length-1];


        var tabnm1 = $j(this).val();
        addInputGroup(tabnm1);
        automateDynamicFields(nosoftabs);


    });


function automateDynamicFields(nosoftabs){
    //alert('No the value of nosoftab is recieved and the function works perfectly.')
    $j("input[id^='registration_label"+nosoftabs+"']").slice(0,-1).each(function(){
            add_tier($j('#dynamic_registration_url'+nosoftabs),'dynamic_registration_label',dynamic_registration_url_hn,nosoftabs);
        });
}

我拥有什么。

调用另一个函数并传递值nosoftabs的函数。当我在其中编写Alert时,该值被接收并且function automateDynamicFields完美地工作。

我知道这必须对DOM元素做好准备。有没有办法检查jQuery中是否加载了variable。我知道使用$('myDiv').load(....)这可能是固定的,但很想知道在检查变量加载时是否可以完成,并且只有在加载时才应该将其传递给下一个函数。

2 个答案:

答案 0 :(得分:3)

var abd = addInputGroup(tabnm1);


        if(abd.length>0){
            automateDynamicFields(nosoftabs);
        }
        else{
            setTimeout(function(){

                automateDynamicFields(nosoftabs);
            },800);

        }

并使add Input Group返回一些东西。

答案 1 :(得分:0)

如果这是一个dom问题,你总是可以把你的脚本放在html的末尾,这样就可以在js运行的时候加载dom ......