图像作为单选按钮
Images as radio button
我正在尝试实现这一目标,但它不起作用。
这是 CSS 工作表:
.input_hidden {
position: absolute;
left: -9999px;
}
.selected {
background-color: #000000;
}
#carte label {
border: inline-block;
cursor: pointer;
}
#carte label img {
padding: 3px;
}
HTML部分:
<div id="carte">
Select a card:<BR>
<input type=radio name="carte" id="cart1" class='input_hidden' />
<label for="cart1">
<img src="cart1.jpg" alt="carte1" />
</label>
<input type=radio name="carte" id="cart2" class='input_hidden' />
<label for="cart2">
<img src="cart1.jpg" alt="carte2" />
</label>
<input type=radio name="carte" id="cart3" class='input_hidden' />
<label for="cart3">
<img src="cart3.jpg" alt="carte3" />
</label>
</div>
和JavaScript:
$('#carte label').click(function(){
$(this).addClass('selected').siblings().removeClass('selected');
});
当我将所选类分配给图像时,没关系,我看到它带有黑色边框。 但似乎分配类的 JavaScript 部分不起作用。我还有其他方法可以为图像分配正确的类吗?感谢您的支持。
你确定要使用jQuery吗?
使用理智的浏览器,您可以使用纯 css 解决它:http://jsfiddle.net/VSR86/4/
.HTML:
<div id="carte">
<label>
<input type="radio" name="carte" value="cart1" >
<img src="http://placekitten.com/100/100">
</label>
...
.CSS:
label input + img {
border: 10px solid transparent;
}
label input:checked + img {
border: 10px solid blue;
}
当然,对于IE8及更早版本,一些JavaScript回退是必要的。
https://developer.mozilla.org/en-US/docs/Web/CSS/:checked
IE8 修复
更新的 CSS:
label input.checked + img,
label input:checked + img {
border: 10px solid blue;
}
JS回退:
if(/* this browser is IE8 or worse */){
$(document).on('click','label:has(input[type="radio"])',function(){
var $r = $(this).find('input');
adjustRadio( $r.attr('name'), $r.val(), 'checked');
});
}
function adjustRadio( name, value, className ){
// wait for other event handlers to run
setTimeout( function(){
$('input[type="radio"][name="'+name+'"]').each( function(){
var $r = $(this);
$r.toggleClass( className, $r.val() === value );
});
},1);
}
您可以使用
toggleClass
函数进行一些简单:)
http://api.jquery.com/toggleClass/
既然人们很挑剔,这里有一个小提琴
给你,先生http://jsfiddle.net/8B3SW/1/
$('#carte label').click(function(){
$(this).toggleClass('selected').siblings().removeClass('selected');;
});
相关文章:
- Javascript:图像与单选按钮的值不匹配
- Javascript:单选按钮,并显示基于vaule的图像
- Javascript:单击单选按钮时显示图像
- CSS Html使图像显示在单选按钮的选项上(单选按钮被CSS隐藏)
- 如何使用PHP、提交和单选按钮复制/重命名/覆盖图像
- 显示基于多个单选按钮选择的图像
- 图像为单选按钮
- 使用 Jquery 的单选按钮图像
- 从单选按钮中获取值以选择 html 格式的图像
- 如何将单选按钮替换为还包含提交按钮的图像
- 自定义图像作为单选按钮
- 单击单选按钮并显示图像
- Javascript单选按钮鼠标悬停在移动图像上,使用math.random
- Javascript,切换具有相同名称的单选按钮图像
- 图像作为单选按钮
- 单选按钮和图像滑块
- 需要单击图像地图区域以选择相应的单选按钮
- 如何在javascript中生成从图像单选按钮到提交按钮的表单链接
- 如何用图像替换单选按钮
- Angular JS知道什么是用复选框图像和单选按钮图像触发的