2012-04-08 72 views

回答

0

只要改變

$(error).insertAfter($(element)); 

$(error).insertAfter($(element).parent()); 

,或者您不能修改的JS代碼?如果是這樣,那麼有必要創建CSS黑客或更改HTML標記。

+0

我可以修改你的方法適用於具有附加輸入字段,但不能很好地工作沒有它的領域。我可以在代碼中驗證addon字段是否存在,並且僅在這種情況下應用'.parent'? – 2012-04-10 19:09:54

+0

這是什麼關係?元素 - 這是你的輸入。它不依賴於span擴展。示例:http://jsbin.com/ayuyid/edit#javascript,html,live – sleepwalker 2012-04-10 20:45:11

+0

請參閱此演示(僅在第一個字段中輸入1個符號) - http://jsbin.com/ukecog/5/edit – 2012-04-11 16:11:09

2

對於一個通用的解決方案,以引導任何附加元件後始終打印使用以下命令:

errorPlacement: function(error, element) { 
var next = element.next(); 
if (next.hasClass('add-on')) 
    $(error).insertAfter(next); 
else 
    $(error).insertAfter(element); 
} 
相關問題