2011-03-02 75 views
1
<a href=".login_form" class="the_form">click to Contact</a> 


$(".the_form").fancybox({ 
     'scrolling'  : 'no', 
     'overlayOpacity': 0.1, 
     'showCloseButton' : false, 
     'onClosed'  : function() { 
      $("#login_error").hide(); 
     } 
    }); 






$(".login_form").bind("submit", function() { 

    if ($(this).find(".name").val().length < 1 || $(this).find(".email").val().length < 1 || $(this).find(".msg").val().length < 1) { 
     $(this).find(".login_error").show(); 
     $.fancybox.resize(); 
     return false; 
    } 
}); 

我有一個表單循環並創建了它的許多實例。我想要做的就是在該鏈接上單擊打開該窗體的特定實例。我知道我可以通過爲每個表單創建獨特的id來實現這一點,但是我想知道是否有更簡單的方法。這段代碼在理論上看起來不錯,但fancybox不會只使用「.login_form」作爲特定實例的「#login_form」。fancybox可以打開表單類的多個實例

回答

0

如果您顯示一些額外的標記,我可能會提供幫助。

但是,也許你可以遍歷每個項目,並綁定到這種方式花哨的盒子?這樣每次迭代都可以在你的花式框聲明中引用表單方向?在jsfiddle

$(".the_form").each(function(){ 

    $(this).fancybox({ 
     'content': $(this).find("someChildOfTheForm"), 
     'scrolling'  : 'no', 
     'overlayOpacity': 0.1, 
     'showCloseButton' : false, 
     'onClosed'  : function() { 
      $(this).find(".login_error").hide(); 
     } 
    }); 

}); 

實例來描述我所談論...

0

另外,如果我正確地給你,你可以使用多個選擇這樣

$('#id1, #id2, #id3').fancybox({ 
    'scrolling'  : 'no', 
    'overlayOpacity': 0.1, 
    'showCloseButton' : false, 
    'onClosed'  : function() { 
     $(this).find(".login_error").hide(); 
    } 
}); 
相關問題