0

4つの入力フィールドをjQuery関数に結合して、各入力をキーアップとしてチェックし、すべてのボックスの長さが4に達すると、リスト項目が変更されてすべてのフィールドがいっぱいであることを確認しようとしています

HTML

<div class="cardNumber">
    <input type="text" value="" maxlength="4" name="ccn1" id="ccn1">
    <input type="text" value="" maxlength="4" name="ccn2" id="ccn2">
    <input type="text" value="" maxlength="4" name="ccn3" id="ccn3">
    <input type="text" value="" maxlength="4" name="ccn4" id="ccn4">
</div>

<ul>
    <li class="checkNumber">Card Number</li>
</ul>

jQuery

$(".cardNumber input[name=ccn1], .cardNumber input[name=ccn2], .cardNumber input[name=ccn3], .cardNumber input[name=ccn4]").keyup(function() {
    $(".cardNumber input[name=ccn1], .cardNumber input[name=ccn2], .cardNumber input[name=ccn3], .cardNumber input[name=ccn4]").each(function() {
        if ($(".cardNumber input[name=ccn1], .cardNumber input[name=ccn2], .cardNumber input[name=ccn3], .cardNumber input[name=ccn4]").length >= '4') {
            $("li.checkNumber").addClass("checked");
        }
    });
});

デモ: http://jsfiddle.net/fz4wF/

4

4 に答える 4

6
$(':input[name^=ccn]').keyup(function() {
    var check = $(':input[name^=ccn]').filter(function() {
        return $.trim(this.value).length < 4;
    }).length === 0;

    $("li.checkNumber").toggleClass("checked",check);
});

デモ

于 2012-06-25T12:45:11.220 に答える
4

このようなもの:

http://jsfiddle.net/fz4wF/19/

$(".cardNumber input").keyup(function(){    
    var allfilled = true;
    $(".cardNumber input").each(function() {
        if($(this).val().length < 4) {
            allfilled =false;
            return false;
        }
    });  

    $("li.checkNumber").toggleClass("checked",allfilled);    
});​
于 2012-06-25T12:42:50.987 に答える
0

最も簡単な方法はこれだと思います: http://jsfiddle.net/fz4wF/28/ 最善ではありません。

于 2012-06-25T12:56:34.253 に答える
0

私はこれがあなたが必要としているものだと信じています。

于 2012-06-25T12:46:35.487 に答える