1

<div><input type="text" name="mytext[]"></div>削除の「トップ」ボタンからでも最後を削除するにはどうすればよいですか? 多くのフィールドを作成するときに、[それらの上にあるグリフィコンを削除] をクリックすると、最後ではなくすべてが削除されます。

新しいフィールドを作成するときにフィールドの右側にある削除のボタンをクリックすると、フィールドが削除されますが、上部のボタンからも削除したい

<div class="input_fields_wrap">
    <button class="add_field_button">
        <span class="glyphicon glyphicon-plus"></span>
    </button>
    <button class="remove_field" ><span class="glyphicon glyphicon-trash"></span>
    </button>
    <div><input type="text" name="mytext[]"></div>
</div>
$(document).ready(function () {
    var max_fields = 10; //maximum input boxes allowed
    var wrapper = $(".input_fields_wrap"); //Fields wrapper
    var add_button = $(".add_field_button"); //Add button ID
    var x = 1; //initlal text box count
    $(add_button).click(function (e) { //on add input button click
        e.preventDefault();
        if (x < max_fields) { //max input box allowed
            x++; //text box increment
            $(wrapper).append('<div><input type="text" name="mytext[]"/><a href="#" class="remove_field">\n\
                                <button ><span class="glyphicon glyphicon-trash"></button>\n\
                                </span></a></div>'); //add input box
        }
    });
    $(wrapper).on("click", ".remove_field", function (e) { //user click on remove glyphicon
        e.preventDefault();
        $(this).parent('div').remove();
        x--;
    })
});
4

2 に答える 2

2

これを解決するには、 を使用できますnextAll('div:last')。これを試して:

$wrapper.on("click", ".remove_field", function(e) { //user click on remove glyphicon
    e.preventDefault();
    $(this).nextAll('div:last').remove();
    x--;
})

実施例

jQuery オブジェクトを二重ラップしないように JS を少し修正したことに注意してください。また、グリフィコンを使用しなくても追加/削除ボタンがどれであるかが明確になるように、HTML も少し修正しました。

于 2016-08-02T09:19:26.427 に答える