jQuery选择菜单问题

时间:2011-08-30 05:55:09

标签: jquery jquery-ui

我们使用jQuery UI selectmenu,它重写我们的下拉框,如下所示:

<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;">

我们如何在上面的跨度中添加更改函数?

2 个答案:

答案 0 :(得分:1)

将css放入课堂。

将该类添加到元素:

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

然后在不需要时从元素中删除该类:

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

答案 1 :(得分:0)

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