我有
$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(....)
这可能是固定的,但很想知道在检查变量加载时是否可以完成,并且只有在加载时才应该将其传递给下一个函数。
答案 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 ......