【发布时间】:2012-01-12 22:07:08
【问题描述】:
我正在为自定义单选按钮使用 JQuery 和自定义图像。现在,它可以作为一个复选框。我需要它作为收音机工作。
当我点击两个收音机中的任何一个时,两者都会被打勾,而不是一次打勾。我错过了什么吗?
HTML:
<label for="radio1">
<img src="radio_unchecked.png" style="vertical-align:middle" />
<input name="radiogroup" type="radio" id="radio1" style="display:none;">
</label>
<label for="radio2">
<img src="radio_unchecked.png" style="vertical-align:middle" />
<input name="radiogroup" type="radio" id="radio2" style="display:none;">
</label>
JavaScript:
$(document).ready(function() {
$("#radio1").change(function() {
if (this.checked) {
$(this).prev().attr("src", "radio_checked.png");
} else {
$(this).prev().attr("src", "radio_unchecked.png");
}
});
$("#radio2").change(function() {
if (this.checked) {
$(this).prev().attr("src", "radio_checked.png");
} else {
$(this).prev().attr("src", "radio_unchecked.png");
}
});
});
【问题讨论】:
-
您没有对图像进行点击处理,我想知道当单选按钮通过
display:none;隐藏时,您如何测试任何功能?更改事件永远不会触发,是吗? \\edit: 哦,我明白了,标签当然会触发单选按钮。 -
@Connum:
imgs 在单选按钮的label内,所以点击到达标签,就像点击到达单选按钮一样。
标签: javascript jquery html radio-button