我有一个包含3个文本区域的表单。我想做的是查找用户已填满多少文本区域,以便每次离开n字段但未提交时,都会向用户发出警告消息,例如:

"details missing for 2 out of 3 fields" // when submiting only the first one

"details missing for 1 out of 3 fields" // when submiting the first two text areas


这是我的剧本

$('textarea[name="area1"]').on('keyup', function () {
                $('#opt-remain').text($('#opt-remain').text()-1)
            });
            $('textarea[name="area2"]').on('keyup', function () {
                $('#opt-remain').text($('#opt-remain').text()-1)
            });
            $('textarea[name="area3"]').on('keyup', function () {
                $('#opt-remain').text($('#opt-remain').text()-1)
            });

<div id="optional-alert" class="alert alert-warning" style="display:none; margin-bottom:0">
(<span id="opt-remain"></span> out of 3)
</div>


有可能用jQuery做到这一点吗?

最佳答案

您可以通过执行以下操作简化此操作

$('form textarea').change(function() {
    $('#optional-alert').show();
    var count = $('form textarea').filter(function(textarea) {
        return ! $(this).val();
    }).length;
    $('#opt-remain').text(count);
});


https://jsfiddle.net/xktm3cwe/

关于javascript - jQuery-查找已提交多少文本区域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37140923/

10-12 16:56