2011-08-20 47 views
0

我在我的頁面中有一個表格,分3步填寫。對於每一步,字段都包含在一個div中,並將該步驟的元素分組在一起。當用戶移動到下一步時,我隱藏該div並顯示下一個。在最後一步之後,用戶確認數據並提交。此時,驗證會啓動,驗證表單中每個步驟的所有字段。當編輯器字段被隱藏時隱藏qTip錯誤消息,當可見時顯示

我正在使用浮動qTips顯示驗證失敗字段的錯誤評論。我的問題是,當失敗的字段不可見時,提示出現亂七八糟的位置,並且當它變得可見時,它會在整個屏幕上跳到正確的位置。

問題:如何才能讓qTip只在該字段可見時纔可見,並在其不可見時隱藏?

生成的qTip有一個內部元素htmlFor="name-of-field"所以我想我可以用它來將每個qTip與它的生成字段關聯起來。但是,如何隱藏/顯示每個步驟div隱藏/顯示的字段?

+0

這將是一個很棒的功能。我也會對它感興趣。允許使用show:{ready:true}顯示qtip將導致qtip被定位在boondocks中(因爲jquery Position不適用於隱藏的元素)。如果我們可以這樣做:hide:{event:「hidden」}和show:{event:「visible」},它將跟蹤父元素的可見性。 –

回答

0

今天這個剛剛發現

$(el).qtip({events: { 
show: function (event, api) { 
     if (api.elements.target.is(':hidden')) { 
      event.preventDefault(); 
      } 
    }}); 

這爲我工作。檢查父項目的可見性並根據此決定停止顯示事件。 Qtip2提供了許多像這樣的可以取消的事件。

看到文檔在這裏:http://craigsworks.com/projects/qtip2/docs/api/events/

+0

P.S.我知道你可能不需要答案,但我敢打賭別人可能會。所有新的MVVM和不引人注目的驗證在業界推動什麼。我的項目使用Knockout,jQuery驗證和不顯眼的驗證加qtip2。如果任何人有興趣,我可以發佈我的解決方案,將qtip整合到不顯眼的驗證方法中。 –

+0

我現在不需要它,但我從來沒有解決這個問題,所以我可能在未來。感謝您的答覆。本週我會花一些時間來嘗試一下,看看這是否適合我。我有一個關於unobstrusive驗證和qtip集成的問題,如果你希望你可以檢查我的解決方案(和其他問題)以及發佈你自己的,所以人們可以比較和投票。 (http://stackoverflow.com/questions/6802045/integrating-qtip-with-mvc3-and-jquery-validation-errorplacement) – AJC

相關問題