使用jquery禁用multibox

时间:2012-10-05 07:20:45

标签: jquery multibox

我在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>

1 个答案:

答案 0 :(得分:1)

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

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

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

.txnList :checkbox.txnList :checked

这将选中容器,然后选中复选框。

希望有所帮助。