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”)的输入。不幸的是,我所有的尝试都失败了。

4

1 回答 1

1

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

使用您的 jsFiddle 的示例

于 2012-06-28T20:27:14.873 回答