0

我在jsp页面中有一个multibox。我想创建一个jquery函数,如果选择了3个以上的事务,那么其余的复选框(从multibox呈现)将被禁用。我已经编写了愚蠢的代码。当我在复选框(输入类型复选框)中对其进行了测试,它有效,但不适用于多框

<html:multibox property="selectedTxns" styleClass="txnList" >
                                            <bean:write name="Id" property="businessTypeVOId"/>
                                        </html:multibox>

jquery函数-->

<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>
4

1 回答 1

1

我测试了你的逻辑(jsFiddle)并且它正在工作。

我不知道多框是如何呈现的,但.txnList容器是否包含复选框?

如果是这样,您需要在容器和复选框选择器之间放置一个空格,如下所示:

.txnList :checkbox.txnList :checked

这将选择容器然后复选框。

希望有帮助。

于 2012-10-26T05:16:17.727 回答