使用jQuery将click事件添加到具有name属性的单选按钮

时间:2014-07-14 12:09:27

标签: javascript jquery onclick

我有一个代码,它有很多tr标签,如下所示,我想动态添加onclick事件 到他们的单选按钮......

<tr class="main3" id="2aiv">
    <td>iv. Hb</td>
    <td>Yes<input type="radio" name="2aiv" value="1" /></td>
    <td>No<input type="radio" name="2aiv" value="0" /></td>
</tr>

在函数中,如果某些条件为真,我使用以下代码将类添加到tr标记

$('#2aiv').addClass('notAns');

结果如下(这很好)

<tr class="main3 notAns" id="2aiv"> .... </tr>

问题是当我尝试使用以下内容时什么都不做......

$('input[name^=2aiv]').click(removeCls('2aiv')); 

function removeCls(id)
{
   $('#'+id).removeClass('notAns');
}

实际上我想在单选按钮上添加一个onclick事件,即如果在父tr标签中存在notAns类则单击它们应该被删除

4 个答案:

答案 0 :(得分:0)

您缺少绑定事件的语法,需要添加function(),然后在其中调用removeCls

更改此

$('input[name^=2aiv]').click(removeCls('2aiv')); 

$('input[name^=2aiv]').click(function(){removeCls('2aiv');}); 

答案 1 :(得分:0)

$('#2aiv').addClass('notAns');

function removeCls(id)...

实际上工作

拿走你的代码,做了一个视图更改并将其添加到jsfiddle

<强> JSFIDDLE

实际上它会添加一个类,并在单击一个无线电

后将其删除

答案 2 :(得分:0)

尝试使用.change()而不是.click()

    $('input[name^=2aiv]').change(function() {
//Your function

});

答案 3 :(得分:0)

试试这个:

<table>
    <tr class="main3 notAns" id="2aiv">
        <td>iv. Hb</td>
        <td>Yes<input type="radio" name="2aiv" value="1" /></td>
        <td>No<input type="radio" name="2aiv" value="0" /></td>
    </tr>
    </table>

    $(document).ready(function(){

        $('input[name^=2aiv]').click(function(){

            removeCls('2aiv');

        });

    });
    function removeCls(id)
    {
       $('#'+id).removeClass('notAns');
    }

<强> DEMO