一个提交按钮,一组checkbox,当提交时判断,如果没有选中至少一个checkbox,阻止表单提交,代码如下:$('#btnAddNew').click(function(event) {
                    var a = $(":checkbox:checked");
                    if (a.length < 1) {
                        alert("至少选一个部门");
                        event.preventDefault();
                    }
            });是阻止了,但紧跟着我要点treeview控件,该控件需要刷新表单,但不刷新,只有点第二次才会刷新,如何解决?

解决方案 »

  1.   

    为了试验,我放了另一个按钮bt2,只要触发了event.preventDefault();,那么点这个新的bt2,第一次不能提交,第二次才行,晕,急!!!
      

  2.   

    event.preventDefault(); 之前手动触发treeview的click()事件 $("xx").click();
      

  3.   

    你是说模拟单击事件吗?,问题是我在event.preventDefault()之前,并不知道要单击哪个节点呀?
      

  4.   

    $(event.target)就是点击的对象。
      

  5.   

    需求是这样的,我要根据treeview中选中的值来决定是否要显示隐藏table中的一tr元素(特殊原因,无法在前端用脚本)
    而tr中有一组checkbox,我想在最后提交时判断如果tr显示,再看checkbox至少要选一个,否则阻止提交。  $(document).ready(function() {
       $('#btnAddNew').click(function(event) {
                    if ($("#tr").is(":visible")) {
                        var a = $(":checkbox:checked");
                        if (a.length < 1) {
                            alert("至少选一个部门");
                            if (event.target == this)
                                event.preventDefault();
                        }
                    }
                });        });   在运行时,假如触发了阻止提交的条件,我想要再点treeview中的其它节点以改变条件,问题是第一次始终不能提交,点第二次才行.
       to:hookee 这个场景如何实行treeview的click()事件,还是不太明白,请指点,感谢!!!
      

  6.   

    为了简单说事,当提交表单时(通过btn1按钮提交)满足了条件触发了event.preventDefault();(类如一个checkbox也没有选),这样表单就被阻止提交了,
    这个时候,我需要点击别的控件postback页面(不是checkbox,而是需要点击treeview控件中的节点),第一次点击没有任何的反应,只有第二次以后才能刷新页面,不知道这样说,能否明白?!