jQuery:选择上一个选中的复选框

时间:2012-02-28 11:11:10

标签: jquery

我有一个文本框,在文本发生变化时会调用一些Javascript。

在此文本框之前,我有2个互斥的复选框(chkA,chkB)。 当我启动新功能时,我希望能够检查当前选中的复选框。到目前为止,我有这个,

   $(".textbox1").keyup(function () {
                var chk = $(this).prevAll(":checked").first().attr('class');  ....

    });

代码继续做“If class = blah,然后做点什么,否则什么都不做”

它适用于我的单选按钮代码,但不适用于我的复选框。 “chk”最终为空。

2 个答案:

答案 0 :(得分:1)

如果您需要知道已选中复选框的类(我使用了一个我称为“包装器”的虚构元素,它包含所有输入字段,请用正确的元素替换它或发布您的标记):

$(".textbox1").keyup(function () {
       if($(this).closest('#wrapper').find("input:checkbox:checked").hasClass('blah')){
          //do what you need

});

答案 1 :(得分:1)

“我有两个相互排斥的复选框(chkA,chkB)。”使用复选框的目的是允许用户进行相互包含的选择。您可能需要重新考虑并使用单选按钮(设计为互斥)。

也就是说,keyup的处理程序似乎是设置了具有checked属性设置为true的元素之前最接近(到文本框)的class属性。您的复选框(chkA,chkB)是否符合该条件,或者是否有其他复选框(但在文本框之前)被检查?