0

我正在尝试获取 div 中多个输入的值,一旦 div 中的所有输入都有一个值,控制台就会记录一条消息。一旦父 div 中的所有输入都有值,我只想要该消息。

我已经设置了一个小提琴http://jsfiddle.net/r3PdW/

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>jQuery</title>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
        $(function () {
            // name = row1, show = row 2, item 1 = null, item 2 = null, item 3 = test, success = false
            $('div.items:first').show();
            $('div.items').children('input').on('change', function(){
                var parent = $(this).parent('div').data('name');
                var path = $(this).parent('div').data('show');
                $(this).parent('div.items').children('.required').each(function (index) {
                    if ($(this).val() != '') {
                        console.log('ok');
                    }
                });
            });
        });
    </script>
    <style type="text/css">
        .items {
            display: none;
        }
    </style>
</head>
<body>
    <div class="items" data-name="row1" data-show="row2">
        <input type="text" class="required" />
        <input type="text" class="required" />
        <input type="text" class="required" />
    </div>
    <div class="items" data-name="row2" data-show="row3">
        <input type="text" class="required" />
        <input type="text" class="required" />
        <input type="text" class="required" />
    </div>
    <div class="items" data-name="row3" data-show="buttonholder">
        <input type="text" class="required" />
        <input type="text" class="required" />
        <input type="text" class="required" />
    </div>
</body>
</html>
4

1 回答 1

0

Try

$('div.items:first').show();
$('div.items').children('input').on('change', function(){
    var parent = $(this).parent('div').data('name');
    var path = $(this).parent('div').data('show');
    var valid = true;
    $(this).parent('div.items').children('.required').each(function (index) {
        if ($(this).val() == '') {
            valid = false;
            return false;
        }
    });
    if(valid){
        console.log('ok')
    }
});

Demo: Fiddle

于 2013-05-02T03:35:52.390 回答