点击后如何检查单选按钮是否已被检查?

时间:2012-02-16 09:47:11

标签: javascript jquery

我的radiobuttons上有一个点击监听器。

我需要检查在点击之前是否已经检查过radiobutton,或者是否是。

$('.GridRadio').live('click', function () {
    alert($(this).is(':checked'));
});

但是,上述警报每次都是真实的。如何在点击之前查看是否已经检查过?

2 个答案:

答案 0 :(得分:5)

您可以使用data()存储广播的先前值,然后根据该值检查当前值:

$(".GridRadio").click(function() {
    var lastValue = $(this).data("last-value");
    var value = $(this).val();

    if (lastValue == value) {
        alert("Already checked");
    }
    else {
        alert("Not previously checked");
    }

    $(".GridRadio").data("last-value", "");
    $(this).data("last-value", value);
});

Example fiddle

如果您在页面加载时在HTML中的某个无线电上设置checked属性,请添加此代码以设置该特定值的data

$(".GridRadio:checked").data("last-value", $(".GridRadio:checked").val())

答案 1 :(得分:0)

如果您使用的是live,则可能会在$('.GridRadio')之后附加$(document).ready。如果那是对的 - 你可以在追加时进行检查。 然后当它被点击时 - 它将永远是负值。

(如果它在开头的页面中 - 您可以在重新加载页面之后进行此检查,然后再有人点击它。)