【发布时间】:2013-09-13 23:58:45
【问题描述】:
我有一个包含复选框的下拉菜单,一次可以选中多个。当一个复选框被选中时,它的标签类设置为“选中”,然后在取消选中时将其删除。
选中复选框之前:
<label><input type="checkbox" name="gainlosstypes[]" value="Losses" class="upperFilter">Losses</label>
选中复选框后:
<label class="checked"><input type="checkbox" name="gainlosstypes[]" value="Losses" class="upperFilte">Losses</label>
当它被选中时,标签元素会调用.toggleClass('checked')。
我需要能够检测哪些标签的类设置为“已检查”,以便我可以根据这些字段过滤数据。
如果$(this) 是标签元素,当我尝试$(this).hasClass('checked') 时会引发错误。这是我知道尝试的唯一方法。是否有其他方法可以判断特定标签元素是否具有特定类?
编辑:
我在尝试检查属性时遇到这些错误。当我使用 hasClass 时也会发生这种情况:
> $(".multiSelectOptions :checkbox")[1].attr('checked')
TypeError: Object #<HTMLInputElement> has no method 'attr'
> $(".multiSelectOptions :checkbox").parent('label')[1].attr('checked')
TypeError: Object #<HTMLLabelElement> has no method 'attr'
【问题讨论】:
-
这应该会有所帮助:stackoverflow.com/questions/1318076/… 你可以做
$('').attr('checked') -
显示一些代码 - 你是在标签上设置一个实际的类,还是混淆了
class和attribute?一个复选框可以有一个checked属性 -
请创建一个小提琴
-
什么错误?请发布控制台日志
-
为什么要使用带有复选框的标签?使用
<select multiple><options value='yourvaluehere'>Your label text here</option><select>会更有意义吗????
标签: javascript jquery