我有一个文本框,在文本发生变化时会调用一些Javascript。
在此文本框之前,我有2个互斥的复选框(chkA,chkB)。 当我启动新功能时,我希望能够检查当前选中的复选框。到目前为止,我有这个,
$(".textbox1").keyup(function () {
var chk = $(this).prevAll(":checked").first().attr('class'); ....
});
代码继续做“If class = blah,然后做点什么,否则什么都不做”
它适用于我的单选按钮代码,但不适用于我的复选框。 “chk”最终为空。
答案 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)是否符合该条件,或者是否有其他复选框(但在文本框之前)被检查?