样式收音机,一次只允许检查 1 个



我知道通常为无线电输入分配一个名称属性一次只允许检查一个,但我正在使用jQuery重新设计我的输入,这将不再起作用。我在jQuery中还不够高效,无法理解如何克服这个问题。

.HTML

​<input type="radio" class="radio" name="one" />
<input type="radio" class="radio" name="one" />​​​​​​​

jQuery

$('.radio').each(function() {
    $(this).hide();
    var $image = $("<img class='checkbox' src='assets/images/layout/checkbox/unchecked.png' />").insertAfter(this);
    $image.click(function() {
        var $checkbox = $(this).prev('.radio');
        $checkbox.prop('checked', !$checkbox.prop('checked'));
        if($checkbox.prop("checked")) {
            $image.attr("src", "assets/images/layout/checkbox/checked.png");
        } else {
            $image.attr("src", "assets/images/layout/checkbox/unchecked.png");
        }
    });
});

我想我需要在更改图像之前更改我的条件语句以针对是否检查具有特定名称(例如"1")的输入。不幸的是,我所有的尝试都失败了。

对于每个单选按钮,获取其name属性。 然后,在复选框图像单击上,获取具有该name的所有单选按钮元素并取消选中它们,然后再将选中的值应用于单击的值。

使用jsFiddle的示例

最新更新