我正在使用jQuery UI SelectMenu和jQuery UI Custom Checkboxes and Radio Buttons来设置页面上的表单样式。在设置表单时,我将下拉列表定义为:
$('select#em_basic_life_plans').selectmenu({
style:'dropdown',
width: 378,
maxHeight: 238
});
并在页面中创建下拉列表,如下所示:
<fieldset>
<select name="em_basic_life_plans" id="em_basic_life_plans" tabindex="10" />
<option value="" selected="" class="selectmenu-req-format">Plan: select</option>
<option value="5K">Plan: 5K Flat Benefit</option>
<option value="10K">Plan: 10K Flat Benefit</option>
<option value="100K Maximum">Plan: 100K Maximum</option>
</select>
</fieldset>
因为有一些需要的下拉菜单(如上所示),我用浅黄色背景和深黄色文字设置它们,以便用户知道它们是必需的(可选下拉列表有浅灰色背景和灰色文本) 。我这样做是通过声明一个不同于我的SelectMenu CSS中的浅灰色默认设置的背景颜色,并同样对文本应用一个单独的类,如下所示:
#em_basic_life_plans-button {background-color: #fff4bf !important;}
并且,写入选项本身(如上所示):
class="selectmenu-req-format"
希望这可以解决问题。现在我的问题是:
如何将上述下拉列表的背景颜色从浅黄色更改为浅灰色,具体取决于取消选中页面上某个复选框的时间?
我认为这样可行:
$('#basic_cov_life').click(function() {
if ($('#basic_cov_life').is(':checked')) {
alert("Debugging: this is now checked.");
}
else {
$('#em_basic_life_plans-button').css('background-color:#B3B3B3;');
}
});
用于确定是否选中复选框(#basic_cov_life)的代码正在运行...这只是将颜色更改为灰色但不起作用的代码:
$('#em_basic_life_plans-button').css('background-color:#B3B3B3;');
有关如何将背景颜色更改为浅灰色的任何想法?而且,尽管我还没有使用上面的代码,我还需要将文本更改为灰色。
非常感谢您的任何见解!
Berklie
答案 0 :(得分:2)
在click
处理程序中this
将指向您单击的复选框,因此您不必使用$('#basic_cov_life')
。设置任何css样式css
方法需要2个参数(属性/值)或映射。试试这个。
$('#basic_cov_life').click(function() {
if ($(this).is(':checked')) {
$('#em_basic_life_plans-button').css('backgroundColor', '#fff4bf');//Set the appropriate color here
}
else {
$('#em_basic_life_plans-button').css('backgroundColor', '#B3B3B3');
}
});
答案 1 :(得分:0)
document.getElementById("basic_cov_life").checked // returning boolean
或
$("#basic_cov_life").attr("checked") // returning attribute value
或
$("#basic_cov_life").prop("checked") // returning attribute value