2010-12-11 101 views
3

我在突出显示已选中的复选框和单选按钮时遇到了一些问题。做.css("border", "1px solid red").css("background-color", "yellow")似乎没有工作。使用jQuery突出显示复选框和单选按钮。

除了默认选中标记或填充单选按钮之外,我需要通过某种方式突出显示这些复选框或单选按钮的方式来确定。

HTML例子

<input type="radio" title="search" value="T" name="srchType"> 
<input type="checkbox" value="1" name="option1"> 
+0

你能提供你的html吗? – kobe 2010-12-11 04:27:59

回答

5

如果您希望保留复选框的浏览器的默认外观,也没有太多你可以使用CSS样式。非标准复选框外观不是用边框或背景颜色实现的,而是用代表各种状态的新图形批量替换(例如,参见herehere)。

但是,根据您的HTML结构的不同,您可能能够使用普通的css实现令人满意的效果。例如,如果有这样的事情:

<label> 
<input id="cb1" name="cb1" type="checkbox" value="1" /> 
My Checkbox 
</label> 

您可以将样式是这样的:

$('input:checkbox').click(function(){ 
    $(this).parent('label').toggleClass('highlight', this.checked); 
}); 

...用CSS这样的:

label { display: block; } 
.highlight { background-color: yellow; } 

下面是一个例子: http://jsfiddle.net/redler/c3hDK/1/

+1

不错的解决方案和良好的解决方法也 – kobe 2010-12-11 04:44:06