2011-08-30 106 views
1

我們使用jQuery UI selectmenu,它重寫我們的下拉框,如下所示:jQuery的選擇菜單問題

<select style="width: 324px; display: none;" id="speedA" name="fruits"> 
    <option value="NA">Please Select</option> 
    <option value="A">Apple</option> 
    <option value="O">Orange</option> 
    <option value="P">Pear</option>       
</select> 

<a aria-owns="speedA-menu" aria-haspopup="true" tabindex="0" href="#" role="button" id="speedA-button" class="ui-selectmenu ui-widget ui-state-default ui-selectmenu-dropdown ui-state-active ui-corner-top" style="width: 312px; background: none repeat scroll 0% 0% rgb(239, 239, 239); border: 1px solid rgb(236, 0, 140);"><span class="ui-selectmenu-status">Apple</span><span class="ui-selectmenu-icon ui-icon ui-icon-triangle-1-s"></span></a> 

我們有一點的jQuery從而改變這個選擇菜單的背景和邊框如果選擇不是招」牛逼了變化,這完美的作品(你可以在上面的HTML看到,<a>鏈接已經得到內style""分配給它的錯誤顏色):

if(bizzstate == "NA") $('#speedA-button').css({"background":"#efefef","border":"1px solid #ec008c"}); 

我們所遇到的問題,越來越這改回它的默認顏色,當它被改變時:

$('#speedA-button').change(function() { 
    $('#speedA-button').css({"background":"","border":"1px solid #AAAAAA"}); 
}); 

上面的代碼似乎沒有工作..它只是保持原來的顏色。

任何幫助,將不勝感激

更新 =========

想通了,爲什麼,因爲它的東西變化是:

<span class="ui-selectmenu-status">Apple</span> 

NOT :

<a id="speedA-button" class="ui-selectmenu ui-widget ui-state-default ui-selectmenu-dropdown error_input ui-corner-all" aria-owns="speedA-menu" aria-haspopup="true" tabindex="0" href="#" role="button" style="width: 312px;"> 

何我們是否在上面的跨度上添加了更改函數?

+0

你可以設置一個HTTP任何機會://的jsfiddle。淨? – alex

+0

我已經編輯過更新的帖子,請檢查。 – Latox

回答

1

把css放到一個類中。

的類添加到元素:

if(bizzstate == "NA") $('#speedA-button').addClass("specialColors"); 

然後從元素刪除類時,你不需要它:

$('#speedA').change(function() { $('#speedA-button').removeClass("defaultColors"); }); 
+0

我已經編輯了更新的帖子,請檢查。 – Latox

+0

難道你不想讓錨點的顏色改變你的選擇框的選中index更改嗎? – jzm

+0

這工作完美,對不起,我誤解了:) – Latox

0

$('#speedA-button')沒有onchange事件,不是嗎?