我在jsp页面中有一个multibox。我想创建一个jquery函数,如果选择了3个以上的事务,那么其余的复选框(从multibox渲染)将被禁用。我写了下面的代码。当我在一个复选框(输入类型复选框)中测试它时,它可以工作,但它不适用于多箱
<html:multibox property="selectedTxns" styleClass="txnList" >
<bean:write name="Id" property="businessTypeVOId"/>
</html:multibox>
jquery函数 - &gt;
<script>
function countChecked() {
var n = $(".txnList:checked").length;
if (n<3) { $(".txnList:checkbox").removeAttr("disabled");
$("#msg").text("");
}
else { $(".txnList:checkbox:not(:checked)").attr("disabled", true);
$("#msg").text("can not choose more than 3 transactions");
}
}
$(".txnList:checkbox").click(countChecked);
</script>
答案 0 :(得分:1)
我测试了你的逻辑(jsFiddle)并且它正在运行。
我不知道multibox是如何呈现的,但容器是.txnList
复选框?
如果是这样,您需要在容器和复选框选择器之间放置一个空格,如下所示:
.txnList :checkbox
和.txnList :checked
这将选中容器,然后选中复选框。
希望有所帮助。