通过另一个javascript函数检查单选按钮

时间:2012-06-11 17:33:43

标签: javascript jquery html

我有一个带有javascript函数的页面,可以更改选择的单选按钮,如下所示:

if ($('#tables').hasClass('radiobuttons')){
    var tables = $('#tables').find('table'),
        rows = tables.find('tr'),
        radios = $('input[type="radio"]');

    rows.live('click', function(){
        var clicked = $(this);
        clicked.find('input[type=radio]').attr('checked', true);
        clicked.parent().find('tr').removeClass('selected');
        clicked.addClass('selected');
    });
}

基本上,这允许用户单击表格中某一行的任何位置,并且将选择相应的单选按钮。

单选按钮都附加了一个onchange事件 - 除非该功能在以这种方式选择单选按钮时调用

<input type="radio" onchange="someFunction();" name="myradiobutton" value="123">

除了onchange事件之外,我怎么能检测到值发生了变化?

2 个答案:

答案 0 :(得分:1)

不是在单选按钮上设置属性,而是尝试触发单击事件。

clicked.find('input[type=radio]').trigger("click");

或者,您可以尝试将Click事件处理程序绑定到用户单击的行,而不是(或除了)实际的单选按钮。

答案 1 :(得分:0)

您可以查找引发事件的目标元素并相应地做出决定。您可以使用事件对象获取目标元素,事件对象是事件处理程序中的第一个参数。

rows.live('click', function(e){
    if($(e.target).is(':radio'){
        //radio button clicked
    }
});