0

フィールドを追加および削除できるJqueryフォームを設定しています:http://jsfiddle.net/beehive/TLJGb/

このフォームに10個を超えるフィールドを追加できないようにします。どうすればこれを達成できますか?

$(function() {
    var scntDiv = $('#p_scents');
    var i = $('#p_scents p').size() + 1;
    $('#addScnt').live('click', function() {
        $('<p id="yum">beets ' + i + ' <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
        i++;
        return false;
    });
    $('#remScnt').live('click', function() {
        if (i > 2) {
            $(this).parents('p').remove();
            i--;
        }
        return false;
    });
});

html:

<h2><a href="#" id="addScnt">Add Another</a></h2>

<div id="p_scents">
    <p id="yum">
        beets
    </p>
</div>

</ p>

4

2 に答える 2

5

次のifステートメントをコードに追加します...

$('#addScnt').live('click', function() {

    if ($(".item", addScnt).length < 9) {
        $('<p class="item" id="yum">beets ' + i +' <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
        i++;
    }
        return false;
});

まず、アイテムにクラスを追加して、アイテムを検出できるようにしました。それから私は9未満であるかどうかを数えることができます(+あなたがすでに持っていたものは10になります)

これがフィドルです

于 2012-07-11T14:54:31.203 に答える
0

#addScntのクリックハンドラーに新しいフィールドを追加するコードを、iが10以下かどうかをチェックするifステートメントでラップするだけです。

または、言い換えると:

$('#addScnt').live('click', function() {
    if (i <= 10) {
        $('<p id="yum">beets ' + i + ' <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
        i++;
    }
    return false;
});
于 2012-07-11T14:57:02.277 に答える