0

我正在对自定义下拉列表 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;
                }
                });

            });
4

1 回答 1

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;
});
于 2013-01-09T18:37:11.640 回答