获取之前检查的单选按钮

时间:2012-07-21 10:19:35

标签: javascript jquery jquery-ui radio-button

给出一组单选按钮,例如:

<input id="B_1" type="radio" name="radioName" value="1">
<input id="B_2" type="radio" name="radioName" value="2">
<input id="B_3" type="radio" name="radioName" value="3">
<input id="B_4" type="radio" name="radioName" value="4">

当其中一个被检查时,是否可以知道哪个以前是活动的(如果有的话)?

我尝试将以下函数附加到onclick事件,但它不起作用,因为它返回当前选中的单选按钮而不是之前选择的单选按钮:

my_func = function() {
    var checkedValue = $('input[type=radio]:checked').val();
    return alert("The previously selected was: " + checkedValue);
  };

我不知道是否可以提供任何帮助,无论如何,这是完整的尝试:http://jsfiddle.net/H6h4R/

2 个答案:

答案 0 :(得分:6)

试试这个 - http://jsfiddle.net/H6h4R/1/

$(":radio").on("mousedown", function() {
    $("p").text( $('input[type=radio]:checked').val() );
}).on("mouseup", function() {
    $('input[type=radio]').prop('checked', false);
    $(this).prop('checked', true);
});

click事件仅在这一系列事件发生后触发:

  • 当指针位于元素内时,按下鼠标按钮。
  • 当指针位于元素内时,鼠标按钮被释放。

答案 1 :(得分:0)

如果他使用键盘键,这可以帮助解决这个问题

http://jsfiddle.net/DYrW3/73/

$('input[name=radios]').keydown(function(){
        alert("Before change "+$('input[name=radios]:checked').val());
})