我有一个jsp页面,其复选框声明如此
Traceback (most recent call last):
File "hoteltranselvania.py", line 25, in <module>
if len(input_pass == 0):
TypeError: object of type 'bool' has no len()
它包含在for循环中,基本上每个会话都会显示一个复选框。一切正常,我没有问题。
当前选中复选框时,此功能已运行
<form:checkbox path="affProgramSessionList[${status.index}].programSessionDetailId" id="checkbox_${session.id}" data-id="${session.id}" value="${session.id}" />
这会导致其他一些复选框被检查,并显示隐藏的一些div。
我现在正在添加功能,如果有人检查了一些复选框并保存并返回到页面,则会检查这些复选框。
我有那部分工作,但我无法使功能正常运行。
我有以下
$("input[id*='checkbox_']").each(function () {
$(this).click(function(){
var dataid = $(this).attr("data-id");
var divId = "fullAttendence_" + dataid;
var divIdAttendee = "attendeeType_" + dataid;
$('#' + divId).toggle(this.checked);
$('#' + divIdAttendee).toggle(this.checked);
});
});
当我使用console.log测试它时,会调用此函数。
问题在于
if ($("input[id*='checkbox_']").is(':checked')) {
var dataid = $(this).attr("data-id");
var divId = "fullAttendence_" + dataid;
var divIdAttendee = "attendeeType_" + dataid;
$('#' + divId).toggle(this.checked);
$('#' + divIdAttendee).toggle(this.checked);
}
回来了
var dataid = $(this).attr("data-id");
现在我的假设是,我的新函数检查复选框和另一个调用函数的工作方式完全不同,我的函数不知道检查了哪个复选框只是至少有一个是?
非常感谢任何帮助。
答案 0 :(得分:1)
if ($("input[id*='checkbox_']").is(':checked')) {
...将过滤掉第一个检查过的输入并对其进行操作。如果要迭代所有复选框,请使用以下构造:
$("input[id*='checkbox_']").each(function() {
if ($(this).is(':checked')) {
// do something
}
});