簡體   English   中英

使用JQuery如何檢查僅需要填寫的兩個字段

[英]Using JQuery how do I check two fields that I need one filled only

使用jQuery,我的用戶只需要輸入一個字段,ssn或phone,但是如何在jquery中進行校驗以確認一個是check?

<script type="text/javascript">
    $(document).ready(function () {
        $("#memberrequest").validate({
            rules: {
                phonenumber: {
                    minlength: 12,
                    maxlength: 12
                },

                ssn: {
                    minlength: 10,
                    maxlength: 10
                }

            }
        });


    });
</script>

請幫幫我

我根據您發布的內容為您做了一個小提琴,它仍然必須進行自定義,但它可以說明您的要求。

http://jsfiddle.net/whytheday/QP4wd/1/

$(document).ready(function () {
    $("#memberrequest").validate({
        rules: {
            phonenumber: {
                minlength: 12,
                maxlength: 12,
                required: {
                    depends: function(element){
                        return $("#ssn").val().trim() == ""
                    }
                }
            },

            ssn: {
                minlength: 10,
                maxlength: 10,
                required: {
                    depends: function(element){
                        return $("#phonenumber").val().trim() == ""
                    }
                }
            }

        }
    });
});

您只需將其設置為必填,然后可以設置依賴項,然后可以檢查其他字段是否具有值。

查看“必需”的選項http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression 您可以指定依賴項表達式或依賴項回調。 這意味着您要提供一些javascript代碼(在class屬性中,示例僅說明了required:true),並且您說的是“如果我的代碼評估為true,那么此form元素是必需的”。

因此,在您的情況下,電話號碼和ssn字段都需要依賴項表達式,例如“如果另一個為空,則需要此”。

您可以遍歷兩個字段,然后查看其中一個是否具有值:

$( function () {
    var passesValidation = false;

    $('input').each( function() {
        if ( $(this).val() ) { passesValidation = true; } // could add optional check against length for this field
        //  $(this).val().length && $(this).val().length >= $(this).attr('data-minlength') or some such
    });


});

http://jsfiddle.net/nq69r/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM