返回false后Jquery调用下一步?

时间:2013-01-09 18:34:35

标签: jquery asp.net

我在自定义下拉列表DD1和DD2上编写验证,但是当它检查DD1并返回false时,它不会检查DD2。你能建议我吗?

在下面的脚本中,我调用Validatechecked函数,它检查下拉列表是否选择了值,它只适用于一个下拉列表。如何让它超过2个下拉菜单?

<script type="text/javascript" language="javascript">
        function Validatechecked(val) {
            var selectedItems = "";

            $('[id*='+val+']'+"  "+ "input:checked").each(function () {
                if (selectedItems == "") {
                    selectedItems = "Selected Items:\r\n\r\n";
                }
                selectedItems += $(this).next().html() + "\r\n";
            });
            if (selectedItems == "") {
                selectedItems = "";
                return false;

            }
            else {
                selectedItems = "";
                return true;
            }
        }
        $(document).ready(function () {



            $('[id*="InsertNSTBtn"]').click(function () {

                if (!Validatechecked("DD1")) {
                    $('#<%=valid1.ClientID%>').html("*");
                    return false;
                }

                if (!Validatechecked("DD2")) {
                    $('#<%=Valid1.ClientID%>').html("*");
                     return false;
                }
                });

            });

1 个答案:

答案 0 :(得分:2)

不要立即返回false,而是将布尔变量设置为false并返回:

$('[id*="InsertNSTBtn"]').click(function () {
    var passtest = true;
    if (!Validatechecked("DD1")) {
        $('#<%=RMktallocvalid.ClientID%>').html("*");
        passtest = false;
    }

    if (!Validatechecked("DD2")) {
        $('#<%=SrvRgnMDDValid.ClientID%>').html("*");
        passtest = false;
    }

    /* add more tests if you like */

    return passtest;
});