2011-12-22 63 views
2

我正在使用Bootstrap來開發我的php平臺。帶引導程序的jQuery addClass()

當我嘗試使用這個JavaScript片段

if(result == "OK"){ 
    // If the result is OK applies some effects 
    $("#signup" + item).removeClass("error"); 
    $("#signup" + item).addClass("success"); 
} else { 
    // Applies some effects and shows the error 
    $("#signup" + item).removeClass("success"); 
    $("#signup" + item).addClass("error"); 
} 

與此HTML代碼

<input class="xlarge" id="signupUsername" name="signupUsername" size="30" type="text"> 

什麼也沒有發生。 「錯誤」或「成功」效果不適用。

+0

你肯定被執行的代碼?你有沒有包含正確的CSS?您是否定義了「錯誤」和「成功」的CSS類? 「項目」是否包含正確的值? ... – 2011-12-22 11:09:22

+0

正確包含了CSS,因爲頁面的樣式是正確的。錯誤和成功類在Bootstrap .less文件中定義,這些文件通過less編譯正確。 – siannone 2011-12-22 11:11:57

回答

4

errorsuccess類不應該被應用到<input>,而是包含<div>clearfix類:

<div class="clearfix error"> 
    <input id="errorInput" class="xlarge" type="text" size="30" name="errorInput"/> 
</div> 

<div class="clearfix success"> 
    <input id="successInput" class="xlarge" type="text" size="30" name="successInput"/> 
</div> 

試着改變你的代碼中添加/刪除類的父div.clearfix,看看它的工作原理呢。

HTML:

<div class="clearfix"> 
    <input class="xlarge" id="signupUsername" name="signupUsername" size="30" type="text"> 
</div> 

JS:

var div = $("#signup" + item).parent("div.clearfix"); 
if(result == "OK"){ 
    div.removeClass("error"); 
    div.addClass("success"); 
} else { 
    div.removeClass("success"); 
    div.addClass("error"); 
} 
+0

YUP!這工作! – siannone 2011-12-22 11:18:44