jQuery查看是否在表中选中了单选按钮

时间:2013-07-02 20:14:24

标签: jquery radio-button

$('#tableId').on('change', ':radio', function () {
    console.log($(this));
    console.log($(this).attr('checked'));
});

第二个控制台语句打印未定义。我不知道为什么,这个$(this)看起来像是在保持正确的输入元素。

编辑:

我正在尝试做这样的事情http://jsfiddle.net/briguy37/EtNXP/,但我的单选按钮在表格中

$('#tableId').on('change', ':radio', function () {
    console.log($(this).is(':checked'));
    var prevValue = $(this).attr('previousValue');
    if(prevValue == "true")
    {
      $(this).attr('checked', false);
    }
    $(this).attr('previousValue', $(this).is(':checked'));
  });

2 个答案:

答案 0 :(得分:1)

尝试使用this.checked$(this).prop('checked')$(this).is(':checked'),而不是attr

$('#tableId').on('change', ':radio', function () {
    console.log($(this));
    console.log(this.checked);
});

你想这样做,让收音机不可选:

 $('#radioinstant').click(function() {
    var previousValue = $(this).data('previousValue');
    this.checked = !previousValue;
    $(this).data('previousValue', this.checked);
});

<强> Demo

也不要在change事件上执行此操作(在更改完成后,您无法再更改更改事件中的无线电状态),您需要在{{1}上执行此操作更改之前发生的事件以及可以取消或更改单选按钮状态的事件。

变化:

click

为:

$('#tableId').on('change', ':radio', function () {

答案 1 :(得分:0)

尝试此操作并相应地更改选择器。

$('#tableId').on('click', ':radio', function() {
   if($(this).is(':checked'))
       console.log("Yes");
   else
       console.log("No");
});